Configure o Astra Control Center após a instalação
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.
-
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
-
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]
-
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
-
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.
-
Exclua todos os recursos da NetworkPolicy que existem no namespace Astra Control Center:
kubectl get networkpolicy -n [netapp-acc or custom namespace]
-
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]
-
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
-
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).
O certificado auto-assinado padrão é usado para dois tipos de conexões:
A substituição do certificado TLS padrão substitui o certificado usado para autenticação dessas conexões. |
-
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.
-
Usando SSH, faça login no cluster do Kubernetes que hospeda o Astra Control Center como usuário administrativo.
-
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>
-
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.
-
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>
-
Use o comando e exemplo a seguir para editar o arquivo CRD (Custom Resource Definition) do cluster e altere o
spec.selfSigned
valor paraspec.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>
-
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>
-
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
-
Crie o certificado usando o seguinte comando:
kubectl apply -f certificate.yaml
-
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>
-
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
-
Usando um navegador da Web, navegue até o endereço IP de implantação do Astra Control Center.
-
Verifique se os detalhes do certificado correspondem aos detalhes do certificado que você instalou.
-
Exporte o certificado e importe o resultado para o gerenciador de certificados no navegador da Web.