Este tópico descreve como rotacionar credenciais de segurança para o serviço de gerenciamento e clusters de usuários do GKE na AWS. Para obter 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ços de gestão
Esta seção descreve como rotacionar certificados para seu serviço de gerenciamento.
Autoridades de certificação de gestão
Esta seção explica como rotacionar certificados de assinatura de autoridade de certificação (CA) para componentes do GKE na AWS.
CA raiz do servidor de API de gerenciamento
Para girar a CA raiz do servidor de API, execute as seguintes etapas:
- Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
cd anthos-aws
- Abra seu
anthos-gke.status.yaml
em um editor de texto. - Remova todos os valores sob a 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 seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Outras ACs de gestão
Esta seção descreve como você pode rotacionar todas as seguintes CAs:
- Webhook de autenticação CA
- Etcd CA
- Assinante da conta de serviço CA
Você pode rotacionar essas CAs com um dos seguintes métodos:
Remova a seção
certificateAuthority
do seuanthos-gke.status.yaml
.- Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
cd anthos-aws
- Abra seu
anthos-gke.status.yaml
em um editor de texto. - Remova todos os valores sob a 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
- Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
Se uma nova versão do GKE na AWS estiver disponível, atualize seu serviço de gerenciamento do GKE na AWS .
Recrie a instância do serviço de gerenciamento EC2.
- No seu diretório
anthos-aws
, useterraform
para obter o ID do seu serviço de gerenciamento. A saída inclui o ID do seu serviço de gerenciamento. No exemplo abaixo, o ID écd anthos-aws terraform output cluster_id
gke-12345abc
.terraform output cluster_id
gke-12345abc - Abra o console do AWS EC2 .
- Instâncias de clique
- Localize a instância chamada
cluster-id -management-0
. - Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.
- No seu diretório
Gerenciamento de chaves e certificados de cliente/servidor TLS
Para rotacionar as chaves e certificados de cliente/servidor TLS do seu serviço de gerenciamento, recrie a instância do serviço de gerenciamento. Para recriar a instância, siga estas etapas:
- No seu diretório
anthos-aws
, useterraform
para obter o ID do seu serviço de gerenciamento. A saída inclui o ID do seu serviço de gerenciamento. No exemplo abaixo, o ID écd anthos-aws terraform output cluster_id
gke-12345abc
.terraform output cluster_id
gke-12345abc - Abra o console do AWS EC2 .
- Instâncias de clique
- Localize a instância chamada
cluster-id -management-0
. - Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.
Google Cloud contas de serviço
Contas de serviço de gerenciamento
Para girar o Google Cloud contas de serviço para seu serviço de gerenciamento, execute as seguintes etapas.
- Crie novas contas de serviço e baixe as chaves de conta de serviço seguindo as etapas em Pré-requisitos
- Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
cd anthos-aws
Se você baixou as chaves para um caminho diferente, abra o arquivo
anthos-gke.yaml
em um editor de texto. Altere os valores 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 de cluster de usuário
Para aplicar essas contas de serviço em seus AWSClusters e AWSNodePools, você deve atualizá-las ou excluí-las e recriá- las.
Certificados de cluster de usuário
Esta seção descreve como rotacionar certificados para seus clusters de usuários.
CAs de cluster de usuários e chaves SSH
A maioria das CAs para seus clusters de usuários são criadas quando o cluster é criado.
Quando você exclui um cluster de usuário , o GKE na AWS rotaciona os seguintes certificados:
- CA raiz do servidor API
- CA de proxy frontal de API
- etcd CA
- Autoridade de certificação do assinante da conta de serviço do Kubernetes
- Pares de chaves SSH do plano de controle para o nó
CA de webhook de autenticação de cluster de usuário
Para girar a CA do webhook de autenticação do cluster de usuário, edite o arquivo anthos-gke.status.yaml
e aplique as alterações.
- Acesse o diretório com a configuração do GKE na AWS. Você criou este diretório ao instalar o serviço de gerenciamento .
cd anthos-aws
- Abra seu
anthos-gke.status.yaml
em um editor de texto. - Remova todos os valores sob a 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 de chaves TLS e certificados do cluster de usuários
O GKE na AWS gera pares de chaves TLS e certificados ao criar uma instância. Para rotacionar esses pares, recrie a instância executando as seguintes etapas para o seu plano de controle e pools de nós.
Plano de controle
- No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl
para obter o grupo de destino do AWS EC2 do seu plano de controle do seu 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 seu plano de controle. Por exemplo,
gke-123456a7-controlplane
.Abra o Console do AWS EC2 . Selecione Grupos de Destino no painel esquerdo.
Clique na barra de pesquisa e encontre seu grupo-alvo. Clique no Nome do seu grupo-alvo e, em seguida, em Destinos . A lista de instâncias do seu plano de controle será 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 será exibido.
Clique no ID da instância .
Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.
Voltar para a página Grupos-alvo.
Depois de encerrar todas as instâncias do grupo, retorne à página Grupos de destino.
Na seção Alvos Registrados da página, localize a coluna Status . Cada uma das suas instâncias deve ter o status " Saudável" . Se alguma das instâncias estiver íntegra, aguarde alguns minutos e clique no ícone "
".Depois que todas as instâncias no grupo de destino estiverem saudáveis, prossiga para a próxima etapa.
Pools de nós
Para rotacionar os certificados TLS do seu pool de nós:
- No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl
para obter o grupo de destino do AWS EC2 do seu pool de nós do seu 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 seu pool de nós. Por exemplo,
gke-123456a7-nodepool-abc123
.Abra o Console do AWS EC2 . Selecione Grupos de Destino no painel esquerdo.
Clique na barra de pesquisa e encontre seu grupo-alvo. Clique no Nome do seu grupo-alvo e, em seguida, em Destinos . A lista de instâncias do seu plano de controle será 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 será exibido.
Clique no ID da instância .
Selecione Ações -> Estado da instância -> Encerrar para remover a instância. O EC2 cria automaticamente uma nova instância com o mesmo volume EBS.
Voltar para a página Grupos-alvo.
Depois de encerrar todas as instâncias do grupo, retorne à página Grupos de destino.
Na seção Alvos Registrados da página, localize a coluna Status . Cada uma das suas instâncias deve ter o status " Saudável" . Se alguma das instâncias estiver íntegra, aguarde alguns minutos e clique no ícone "
".Depois que todas as instâncias no grupo de destino estiverem saudáveis, prossiga para a próxima etapa.