Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Configure o Astra Control Center após a instalação

Colaboradores

Dependendo do seu ambiente, pode haver configuração adicional necessária após a instalação do Astra Control Center.

Remover limitações de recursos

Alguns ambientes usam os objetos ResourceQuotes e LimitRanges para impedir que os recursos em um namespace consumam toda a CPU e memória disponíveis no cluster. O Astra Control Center não define limites máximos, por isso não estará em conformidade com esses recursos. Se o seu ambiente estiver configurado dessa forma, você precisará remover esses recursos dos namespaces onde você planeja instalar o Astra Control Center.

Você pode usar as etapas a seguir para recuperar e remover essas cotas e limites. Nestes exemplos, a saída do comando é mostrada imediatamente após o comando.

Passos
  1. Obtenha as cotas de recursos no netapp-acc namespace (ou nome personalizado):

    kubectl get quota -n [netapp-acc or custom namespace]

    Resposta:

    NAME          AGE   REQUEST                                        LIMIT
    pods-high     16s   requests.cpu: 0/20, requests.memory: 0/100Gi   limits.cpu: 0/200, limits.memory: 0/1000Gi
    pods-low      15s   requests.cpu: 0/1, requests.memory: 0/1Gi      limits.cpu: 0/2, limits.memory: 0/2Gi
    pods-medium   16s   requests.cpu: 0/10, requests.memory: 0/20Gi    limits.cpu: 0/20, limits.memory: 0/200Gi
  2. Excluir todas as cotas de recursos por nome:

    kubectl delete resourcequota pods-high -n [netapp-acc or custom namespace]
    kubectl delete resourcequota pods-low -n [netapp-acc or custom namespace]
    kubectl delete resourcequota pods-medium -n [netapp-acc or custom namespace]
  3. Obtenha os intervalos de limite no netapp-acc namespace (ou nome personalizado):

    kubectl get limits -n [netapp-acc or custom namespace]

    Resposta:

    NAME              CREATED AT
    cpu-limit-range   2022-06-27T19:01:23Z
  4. Eliminar os intervalos de limite por nome:

    kubectl delete limitrange cpu-limit-range -n [netapp-acc or custom namespace]

Ative a comunicação de rede entre namespaces

Alguns ambientes usam construções NetworkPolicy para restringir o tráfego entre namespaces. O operador Astra Control Center e o Astra Control Center estão em diferentes namespaces. Os serviços nesses diferentes namespaces precisam ser capazes de se comunicar uns com os outros. Para ativar esta comunicação, siga estes passos.

Passos
  1. Exclua todos os recursos da NetworkPolicy que existem no namespace Astra Control Center:

    kubectl get networkpolicy -n [netapp-acc or custom namespace]
  2. Para cada objeto NetworkPolicy retornado pelo comando anterior, use o seguinte comando para excluí-lo. Substitua [OBJECT_NAME] pelo nome do objeto retornado:

    kubectl delete networkpolicy [OBJECT_NAME] -n [netapp-acc or custom namespace]
  3. Aplique o seguinte arquivo de recurso para configurar o acc-avp-network-policy objeto para permitir que os serviços de plug-in Astra façam solicitações aos serviços do Astra Control Center. Substitua as informações entre parêntesis> por informações do seu ambiente:

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: acc-avp-network-policy
      namespace: <ACC_NAMESPACE_NAME> # REPLACE THIS WITH THE ASTRA CONTROL CENTER NAMESPACE NAME
    spec:
      podSelector: {}
      policyTypes:
        - Ingress
      ingress:
        - from:
            - namespaceSelector:
                matchLabels:
                  kubernetes.io/metadata.name: <PLUGIN_NAMESPACE_NAME> # REPLACE THIS WITH THE ASTRA PLUGIN NAMESPACE NAME
  4. Aplique o seguinte arquivo de recurso para configurar o acc-operator-network-policy objeto para permitir que o operador Astra Control Center se comunique com os serviços Astra Control Center. Substitua as informações entre parêntesis> por informações do seu ambiente:

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: acc-operator-network-policy
      namespace: <ACC_NAMESPACE_NAME> # REPLACE THIS WITH THE ASTRA CONTROL CENTER NAMESPACE NAME
    spec:
      podSelector: {}
      policyTypes:
        - Ingress
      ingress:
        - from:
            - namespaceSelector:
                matchLabels:
                  kubernetes.io/metadata.name: <NETAPP-ACC-OPERATOR> # REPLACE THIS WITH THE OPERATOR NAMESPACE NAME

Adicione um certificado TLS personalizado

O Astra Control Center usa um certificado TLS autoassinado por padrão para o tráfego do controlador de entrada (somente em certas configurações) e autenticação da IU da Web com navegadores da Web. Você pode remover o certificado TLS autoassinado existente e substituí-lo por um certificado TLS assinado por uma autoridade de certificação (CA).

Observação

O certificado auto-assinado padrão é usado para dois tipos de conexões:

  • Conexões HTTPS com a IU da Web do Astra Control Center

  • Tráfego do controlador de entrada (somente se a ingressType: "AccTraefik" propriedade foi definida no astra_control_center.yaml arquivo durante a instalação do Astra Control Center)

A substituição do certificado TLS padrão substitui o certificado usado para autenticação dessas conexões.

Antes de começar
  • Cluster do Kubernetes com Astra Control Center instalado

  • Acesso administrativo a um shell de comando no cluster para executar kubectl comandos

  • Arquivos de chave privada e certificado da CA

Remova o certificado autoassinado

Remova o certificado TLS autoassinado existente.

  1. Usando SSH, faça login no cluster do Kubernetes que hospeda o Astra Control Center como usuário administrativo.

  2. Localize o segredo TLS associado ao certificado atual usando o seguinte comando, substituindo <ACC-deployment-namespace> pelo namespace de implantação do Astra Control Center:

    kubectl get certificate -n <ACC-deployment-namespace>
  3. Exclua o segredo e o certificado atualmente instalados usando os seguintes comandos:

    kubectl delete cert cert-manager-certificates -n <ACC-deployment-namespace>
    kubectl delete secret secure-testing-cert -n <ACC-deployment-namespace>

Adicione um novo certificado usando a linha de comando

Adicione um novo certificado TLS assinado por uma CA.

  1. Use o comando a seguir para criar o novo segredo TLS com a chave privada e os arquivos de certificado da CA, substituindo os argumentos entre colchetes> pelas informações apropriadas:

    kubectl create secret tls <secret-name> --key <private-key-filename> --cert <certificate-filename> -n <ACC-deployment-namespace>
  2. Use o comando e exemplo a seguir para editar o arquivo CRD (Custom Resource Definition) do cluster e altere o spec.selfSigned valor para spec.ca.secretName se referir ao segredo TLS criado anteriormente:

    kubectl edit clusterissuers.cert-manager.io/cert-manager-certificates -n <ACC-deployment-namespace>
    ....
    
    #spec:
    #  selfSigned: {}
    
    spec:
      ca:
        secretName: <secret-name>
  3. Use o comando e exemplo de saída a seguir para validar se as alterações estão corretas e o cluster está pronto para validar certificados, substituindo <ACC-deployment-namespace> pelo namespace de implantação do Astra Control Center:

    kubectl describe clusterissuers.cert-manager.io/cert-manager-certificates -n <ACC-deployment-namespace>
    ....
    
    Status:
      Conditions:
        Last Transition Time:  2021-07-01T23:50:27Z
        Message:               Signing CA verified
        Reason:                KeyPairVerified
        Status:                True
        Type:                  Ready
    Events:                    <none>
  4. Crie o certificate.yaml arquivo usando o exemplo a seguir, substituindo os valores de espaço reservado entre colchetes> por informações apropriadas:

    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: <certificate-name>
      namespace: <ACC-deployment-namespace>
    spec:
      secretName: <certificate-secret-name>
      duration: 2160h # 90d
      renewBefore: 360h # 15d
      dnsNames:
      - <astra.dnsname.example.com> #Replace with the correct Astra Control Center DNS address
      issuerRef:
        kind: ClusterIssuer
        name: cert-manager-certificates
  5. Crie o certificado usando o seguinte comando:

    kubectl apply -f certificate.yaml
  6. Usando o comando a seguir e exemplo de saída, valide que o certificado foi criado corretamente e com os argumentos especificados durante a criação (como nome, duração, prazo de renovação e nomes DNS).

    kubectl describe certificate -n <ACC-deployment-namespace>
    ....
    
    Spec:
      Dns Names:
        astra.example.com
      Duration:  125h0m0s
      Issuer Ref:
        Kind:        ClusterIssuer
        Name:        cert-manager-certificates
      Renew Before:  61h0m0s
      Secret Name:   <certificate-secret-name>
    Status:
      Conditions:
        Last Transition Time:  2021-07-02T00:45:41Z
        Message:               Certificate is up to date and has not expired
        Reason:                Ready
        Status:                True
        Type:                  Ready
      Not After:               2021-07-07T05:45:41Z
      Not Before:              2021-07-02T00:45:41Z
      Renewal Time:            2021-07-04T16:45:41Z
      Revision:                1
    Events:                    <none>
  7. Edite a opção TLS de CRD de entrada para apontar para o novo segredo de certificado usando o comando e o exemplo a seguir, substituindo os valores de espaço reservado entre colchetes> por informações apropriadas:

    kubectl edit ingressroutes.traefik.containo.us -n <ACC-deployment-namespace>
    ....
    
    # tls:
    #    options:
    #      name: default
    #    secretName: secure-testing-cert
    #    store:
    #      name: default
    
     tls:
        options:
          name: default
        secretName: <certificate-secret-name>
        store:
          name: default
  8. Usando um navegador da Web, navegue até o endereço IP de implantação do Astra Control Center.

  9. Verifique se os detalhes do certificado correspondem aos detalhes do certificado que você instalou.

  10. Exporte o certificado e importe o resultado para o gerenciador de certificados no navegador da Web.