Rode as autoridades de certificação

O Google Distributed Cloud usa certificados e chaves privadas para autenticar e encriptar ligações entre componentes do sistema em clusters. A autoridade de certificação (AC) do cluster gere estes certificados e chaves. Quando executa o comando bmctl update credentials certificate-authorities rotate, o Google Distributed Cloud realiza as seguintes ações:

  • O comando cria e carrega novas autoridades de certificação (ACs) do cluster para a AC do cluster, a AC do etcd e a AC do front-proxy para o espaço de nomes do cluster de utilizadores no cluster de administrador.

  • Os controladores do cluster de administrador substituem as autoridades de certificação do cluster de utilizador pelas autoridades de certificação recém-geradas.

  • Os controladores do cluster de administrador distribuem os novos certificados da AC públicos e os pares de chaves de certificados de folhas aos componentes do sistema do cluster de utilizador.

  • O comando também atualiza o stackdriver-prometheus-etcd-scrape segredo, que foi criado pelo Google Distributed Cloud durante a criação do cluster. O Prometheus requer este segredo para recolher métricas do etcd.

Para manter a comunicação segura do cluster, altere a CA do cluster de utilizadores periodicamente e sempre que houver uma possível violação de segurança.

Antes de começar

Antes de rodar a autoridade de certificação do cluster, planeie de acordo com as seguintes condições e impactos:

  • Certifique-se de que os clusters de administrador e de utilizador estão na versão 1.9.0 ou superior antes de iniciar a rotação da AC.

  • A rotação de CA é incremental, o que permite que os componentes do sistema comuniquem durante a rotação.

  • Uma rotação da AC reinicia o servidor da API, outros processos do plano de controlo e cada nó no cluster várias vezes. Cada fase de uma rotação de CA progride de forma semelhante a uma atualização de cluster. Embora o cluster de utilizadores permaneça operacional durante uma rotação da AC, deve esperar que as cargas de trabalho sejam reiniciadas e reagendadas.

  • Se o cluster de utilizadores não tiver um plano de controlo de alta disponibilidade, espere breves períodos de indisponibilidade do plano de controlo durante a rotação da AC.

  • As operações de gestão de clusters não são permitidas durante a rotação da AC.

  • A duração da rotação da CA depende do tamanho do cluster. Por exemplo, a rotação de CA pode demorar quase duas horas a ser concluída para um cluster com um plano de controlo e 50 nós de trabalho.

Limitações

A capacidade de rotação da autoridade de certificação tem as seguintes limitações:

  • A rotação da AC não atualiza os certificados emitidos manualmente por um administrador, mesmo que a AC do cluster assine os certificados. Atualize e redistribua todos os certificados emitidos manualmente após a rotação da AC do cluster de utilizadores estar concluída.

  • Depois de iniciada, não é possível pausar nem reverter a rotação da AC.

Inicie uma rotação da AC do cluster

Por predefinição, os certificados TLS têm um período de validade de 1 ano. O Google Distributed Cloud renova estes certificados quando roda as autoridades de certificação. O Google Distributed Cloud também renova os certificados TLS durante as atualizações dos clusters. Recomendamos que atualize os seus clusters regularmente para os manter seguros, suportados e evitar a expiração dos certificados TLS.

Use o seguinte comando para iniciar o processo de rotação da AC:

bmctl update credentials certificate-authorities rotate --cluster CLUSTER_NAME \
    --kubeconfig KUBECONFIG

Substitua o seguinte:

  • CLUSTER_NAME: o nome do cluster para o qual quer rodar as ACs.
  • KUBECONFIG: o caminho para o ficheiro kubeconfig do cluster de administrador. Para clusters autogeridos, este ficheiro é o ficheiro kubeconfig do cluster.

O comando bmctl termina após a rotação da CA ser bem-sucedida e ser gerado um novo ficheiro kubeconfig. O caminho padrão para o ficheiro kubeconfig é bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

Resolva problemas de rotação da CA do cluster

O comando bmctl update credentials apresenta o progresso da rotação da AC. O ficheiro update-credentials.log associado é guardado no seguinte diretório com indicação de data/hora:

bmctl-workspace/CLUSTER_NAME/log/update-credentials-TIMESTAMP