Neste tópico, descrevemos como alternar as credenciais de segurança do GKE no serviço de gerenciamento da AWS e nos clusters de usuários. Para mais informações sobre os recursos de segurança do GKE na AWS, consulte Segurança.
Antes de começar
Para concluir as etapas desta página, você precisa ter acesso ao diretório com sua configuração do GKE na AWS.
Certificados de serviço de gerenciamento
Nesta seção, você aprende a fazer a rotação de certificados para o serviço de gerenciamento.
Autoridades de certificação de gerenciamento
Nesta seção, explicamos como alternar os certificados de assinatura da autoridade de certificação (CA, na sigla em inglês) para o GKE em componentes da AWS.
Autoridades de certificação do servidor raiz da API Management
Para girar a autoridade de certificação do servidor raiz da API, execute as seguintes etapas:
- Mude para o diretório com o GKE na configuração da AWS.
Você criou esse diretório ao
instalar o serviço de gerenciamento.
cd anthos-aws
- Abra o
anthos-gke.status.yaml
em um editor de texto. - Remova todos os valores na chave
certificateAuthority
. Isso incluiencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
eencryptedPrivateKey.certificate
. Execute
anthos-gke aws management init
para atualizar o arquivoanthos-gke.status.yaml
.anthos-gke aws management init
Execute
anthos-gke aws management apply
para atualizar o serviço de gerenciamento.anthos-gke aws management apply
- No diretório
anthos-aws
, useanthos-gke
para alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Outras autoridades de certificação de gerenciamento
Esta seção descreve como é possível girar todas as CAs a seguir:
- Autenticação de CA de webhook
- CA Etcd
- Signatário da conta de serviço CA
É possível girar essas CAs usando um dos métodos a seguir:
Remova a seção
certificateAuthority
do seuanthos-gke.status.yaml
.- Mude para o diretório com o GKE na configuração da AWS.
Você criou esse diretório ao
instalar o serviço de gerenciamento.
cd anthos-aws
- Abra o
anthos-gke.status.yaml
em um editor de texto. - Remova todos os valores na chave
certificateAuthority
. Isso incluiencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
eencryptedPrivateKey.certificate
. Execute
anthos-gke aws management init
para atualizar o arquivoanthos-gke.status.yaml
.anthos-gke aws management init
Execute
anthos-gke aws management apply
para atualizar o serviço de gerenciamento.anthos-gke aws management apply
- Mude para o diretório com o GKE na configuração da AWS.
Você criou esse diretório ao
instalar o serviço de gerenciamento.
Se um novo GKE na versão da AWS estiver disponível, faça upgrade do GKE no serviço de gerenciamento da AWS.
Recrie a instância do EC2 do serviço de gerenciamento.
- No diretório
anthos-aws
, useterraform
para obter o ID do seu serviço de gerenciamento.cd anthos-aws terraform output cluster_id
A saída inclui o ID do seu serviço de gerenciamento. No exemplo abaixo, o ID égke-12345abc
.terraform output cluster_id
gke-12345abc - Abra o Console do AWS EC2.
- Clique em Instâncias.
- Encontre a instância chamada
cluster-id-management-0
. - Selecione Ações -> Estado da instância -> Encerrar para encerrar a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume do EBS.
- No diretório
Chaves e certificados do cliente TLS / servidor de gerenciamento
Para alternar as chaves e os certificados do cliente/servidor TLS para seu serviço de gerenciamento, recrie a instância do serviço de gerenciamento. Para recriar a instância, execute as seguintes etapas:
- No diretório
anthos-aws
, useterraform
para obter o ID do seu serviço de gerenciamento.cd anthos-aws terraform output cluster_id
A saída inclui o ID do seu serviço de gerenciamento. No exemplo abaixo, o ID égke-12345abc
.terraform output cluster_id
gke-12345abc - Abra o Console do AWS EC2.
- Clique em Instâncias.
- Encontre a instância chamada
cluster-id-management-0
. - Selecione Ações -> Estado da instância -> Encerrar para encerrar a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume do EBS.
Contas de serviço do Google Cloud
Contas de serviço de gerenciamento
Para alternar as contas de serviço do Google Cloud do seu serviço de gerenciamento, execute as etapas a seguir.
- Crie novas contas de serviço e faça o download das chaves dela seguindo as etapas em Pré-requisitos
- Mude para o diretório com o GKE na configuração da AWS.
Você criou esse diretório ao
instalar o serviço de gerenciamento.
cd anthos-aws
Se você fez o download de chaves para um caminho diferente, abra o arquivo
anthos-gke.yaml
em um editor de texto. Altere o valor de.spec.googleCloud.serviceAccountKeys.managementService
,.status.googleCloud.serviceAccountKeys.connectAgent
e.spec.googleCloud.serviceAccountKeys.node
para os novos caminhos.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: googleCloud: serviceAccountKeys: managementService: MANAGEMENT_KEY_PATH connectAgent: CONNECT_KEY_PATH node: NODE_KEY_PATH ...
Execute
anthos-gke aws management init
para atualizar o arquivoanthos-gke.status.yaml
.anthos-gke aws management init
Execute
anthos-gke aws management apply
para atualizar o serviço de gerenciamento.anthos-gke aws management apply
Contas de serviço do cluster de usuário
Para aplicar essas contas de serviço nos AWSClusters e AWSNodePools, é preciso:atualizá-los ou excluí-los então recriá-los.
Certificados de cluster de usuário
Veja nesta seção como alternar certificados para os clusters de usuário.
Autoridades de certificação de cluster do usuário e chaves SSH
A maioria das CAs para seus clusters de usuário são criadas no momento da criação do cluster.
Quando você exclui um cluster de usuário, o GKE na AWS rotaciona os seguintes certificados:
- CA do servidor raiz da API
- CA de proxy frontal da API
- CA Etcd
- Signatário da conta de serviço do Kubernetes CA
- Controle de pares de chaves SSH do nó de controle
Autoridades de certificação de webhook de autenticação do cluster de usuário
Para alternar a CA do webhook de autenticação do cluster de usuário, edite seu arquivo anthos-gke.status.yaml
e aplique as alterações.
- Mude para o diretório com o GKE na configuração da AWS.
Você criou esse diretório ao
instalar o serviço de gerenciamento.
cd anthos-aws
- Abra o
anthos-gke.status.yaml
em um editor de texto. - Remova todos os valores na chave
certificateAuthority
. Isso incluiencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
eencryptedPrivateKey.certificate
. Execute
anthos-gke aws management init
para atualizar o arquivoanthos-gke.status.yaml
.anthos-gke aws management init
Execute
anthos-gke aws management apply
para atualizar o serviço de gerenciamento.anthos-gke aws management apply
Pares e certificados de chave TLS de cluster do usuário
O GKE na AWS gera pares de chave TLS e certificados ao criar uma instância. Para alternar esses pares, recrie a instância executando as seguintes etapas para seu plano de controle e pools de nós.
Plano de controle
- No diretório
anthos-aws
, useanthos-gke
para alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl
para receber o grupo de destino AWS EC2 do plano de controle do AWSCluster.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-name \ -o jsonpath='{.status.targetGroupName}{"\n"}'
A saída inclui o nome do grupo de destino EC2 do plano de controle. Por exemplo,
gke-123456a7-controlplane
.Abra o Console do AWS EC2. Escolha Grupos de destino no painel esquerdo.
Clique na barra de pesquisa e localize o grupo de segmentação. Clique no nome do seu grupo de destino e, em seguida, clique em Segmentações. A lista de instâncias do plano de controle é exibida.
Para cada instância no grupo de destino, execute as seguintes etapas:
Clique no ID da instância. O console de instâncias do AWS EC2 é exibido.
Clique no ID da instância.
Selecione Ações -> Estado da instância -> Encerrar para encerrar a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume do EBS.
Retorne à página "Grupos de destino".
Depois de encerrar todas as instâncias do grupo, retorne à página "Grupos de destino".
Na seção Destinos registrados da página, localize a coluna Status. Cada uma das instâncias deve ter um Status de Integridade. Se alguma das instâncias estiver íntegra, aguarde alguns minutos e clique no ícone de atualização (
).Depois que todas as instâncias no grupo de destino estiverem íntegras, vá para a próxima etapa.
Pools de nós
Para alternar os certificados TLS do pool de nós:
- No diretório
anthos-aws
, useanthos-gke
para alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl
para receber o grupo de destino AWS EC2 do pool de nós do AWSNodePool.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
A saída inclui o nome do grupo de destino EC2 do pool de nós. Por exemplo,
gke-123456a7-nodepool-abc123
.Abra o Console do AWS EC2. Escolha Grupos de destino no painel esquerdo.
Clique na barra de pesquisa e localize o grupo de segmentação. Clique no nome do seu grupo de destino e, em seguida, clique em Segmentações. A lista de instâncias do plano de controle é exibida.
Para cada instância no grupo de destino, execute as seguintes etapas:
Clique no ID da instância. O console de instâncias do AWS EC2 é exibido.
Clique no ID da instância.
Selecione Ações -> Estado da instância -> Encerrar para encerrar a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume do EBS.
Retorne à página "Grupos de destino".
Depois de encerrar todas as instâncias do grupo, retorne à página "Grupos de destino".
Na seção Destinos registrados da página, localize a coluna Status. Cada uma das instâncias deve ter um Status de Integridade. Se alguma das instâncias estiver íntegra, aguarde alguns minutos e clique no ícone de atualização (
).Depois que todas as instâncias no grupo de destino estiverem íntegras, vá para a próxima etapa.