Esta página descreve como atualizar as configurações do seu cluster do GKE na AWS. Você pode usar estas instruções para atualizar qualquer configuração atualizável no seu cluster, incluindo a versão do Kubernetes. Como atualizar a versão é uma das operações de atualização de cluster mais comuns, uma página separada sobre como atualizar o cluster aborda como atualizar uma versão do cluster.
Razões para atualizar um cluster
Você pode atualizar um cluster por qualquer um dos seguintes motivos:
- Para atualizar a descrição do seu cluster.
- Para atualizar as anotações do seu cluster.
- Para atualizar a lista de usuários administrativos do seu cluster.
- Para atualizar a configuração de log do seu cluster.
- Para girar suas chaves de criptografia .
- Para atualizar os grupos de segurança do seu plano de controle de cluster.
Você também pode atualizar outros campos em seus clusters não listados aqui. Para obter uma lista completa dos campos que você pode atualizar, consulte a documentação gcloud container aws clusters update
e projects.locations.awsClusters.patch
.
Pré-requisitos
Para atualizar qualquer um dos campos do seu cluster, você precisa ter a permissão
gkemulticloud.googleapis.com/awsClusters.update
Identity and Access Management.Para atualizar os grupos de segurança do seu cluster, a função do plano de controle do cluster deve ter a permissão
ec2:ModifyNetworkInterfaceAttribute
. Para obter mais informações, consulte Criar a função do plano de controle .Além disso, para atualizar as tags do seu cluster, a função de API do seu cluster deve ter as seguintes permissões da AWS:
-
autoscaling:CreateOrUpdateTags
-
autoscaling:DeleteTags
-
ec2:CreateTags
-
ec2:DescribeLaunchTemplates
-
ec2:DescribeSecurityGroupRules
-
ec2:DeleteTags
-
elasticloadbalancing:AddTags
-
elasticloadbalancing:RemoveTags
Leia Criar funções do AWS IAM para saber como criar e adicionar permissões à função de API do seu cluster.
-
O processo de atualização
O processo pelo qual o GKE na AWS atualiza um cluster varia de acordo com o tipo de atualização. Para algumas alterações, o GKE na AWS pode atualizar um cluster sem reiniciar ou recriar nenhum recurso — por exemplo, atualizar a descrição de um cluster. O GKE na AWS faz essas alterações imediatamente.
Outras alterações exigem a reinicialização dos nós do plano de controle — por exemplo, a atualização da versão do Kubernetes. Para essas atualizações, o GKE na AWS realiza uma "atualização contínua" que consiste nas seguintes etapas:
- Selecione uma instância do plano de controle para atualizar. O GKE na AWS atualiza instâncias com problemas de integridade, se houver, antes das íntegras.
- Crie um novo modelo de inicialização para a instância.
- Atualize o modelo de inicialização do grupo de dimensionamento automático.
- Exclua a instância. A AWS recria a instância e ela é inicializada com a nova configuração.
- Execute verificações de integridade na nova instância.
- Se as verificações de integridade forem bem-sucedidas, selecione outra instância e execute as mesmas etapas nela. Repita esse ciclo até que todas as instâncias sejam reiniciadas ou recriadas. Se a verificação de integridade falhar, o GKE na AWS colocará o cluster em um estado
DEGRADED
e interromperá a atualização. Para obter mais informações, consulte a seção a seguir. - Exclua o modelo de lançamento original.
Quando uma atualização falha
Após uma atualização, o GKE na AWS realiza uma verificação de integridade no cluster. Se a verificação de integridade falhar, o cluster será marcado como DEGRADED
. Você pode exibir o status do seu cluster com o seguinte comando da Google Cloud CLI:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Substitua o seguinte:
-
CLUSTER_NAME
: o nome do seu cluster -
GOOGLE_CLOUD_LOCATION
: o Google Cloud região que gerencia seu cluster
Atualize seu cluster
Você pode usar o Google Cloud console, o Google Cloud CLI ou a GKE Multi-Cloud API para atualizar vários campos de cluster de uma só vez.
Escolha um método de atualização
Você pode atualizar a maioria dos campos pelo console, pela CLI do gcloud ou pela API Multi-Cloud do GKE. Alguns campos só podem ser atualizados por meio de um ou outro mecanismo. Se quiser usar o console para atualizar um cluster, primeiro você precisa escolher e configurar um método de autenticação para fazer login no cluster. Para obter mais informações, consulte Conectar e autenticar no seu cluster .
Console
No Google Cloud console, acesse a página de visão geral dos clusters do Google Kubernetes Engine .
Selecione o Google Cloud projeto em que o cluster está.
Na lista de clusters, selecione o nome do cluster e, em seguida, selecione Exibir detalhes no painel lateral.
Na guia Detalhes , selecione Editar
campo que você deseja alterar.Por exemplo, para conceder privilégios administrativos de cluster a outros usuários , selecione
ao lado de Usuários administradores e insira o endereço de e-mail do usuário.Quando terminar de fazer as alterações, selecione Concluído .
gcloud
Ao atualizar um cluster usando a CLI do gcloud, você deve sempre incluir os campos CLUSTER_NAME
e GOOGLE_CLOUD_LOCATION
, que informam ao GKE na AWS qual cluster atualizar. No comando a seguir, inclua apenas os campos que deseja atualizar; remova os demais campos antes de executar o comando.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION \
--admin-users=USERNAME_LIST \
--root-volume-iops=ROOT_VOLUME_IOPS \
--root-volume-size=ROOT_VOLUME_SIZE \
--root-volume-type=ROOT_VOLUME_TYPE \
--security-group-ids=SECURITY_GROUP_IDS
Substitua o seguinte:
-
CLUSTER_NAME
: o nome do seu cluster -
GOOGLE_CLOUD_LOCATION
(obrigatório): o suportado Google Cloud região que gerencia seu cluster — por exemplo,us-west1
-
CLUSTER_VERSION
: a nova versão de cluster com suporte -
USERNAME_LIST
: uma lista de nomes de usuários separados por vírgulas, por exemplo, "kai@exemplo.com,hao@exemplo.com,kalani@exemplo.com". Estes são os endereços de e-mail dos usuários aos quais você está concedendo privilégios administrativos neste cluster. Os nomes nesta configuração substituirão qualquer lista anterior de usuários administradores no cluster. -
ROOT_VOLUME_IOPS
: operações máximas de E/S do volume raiz por segundo -
ROOT_VOLUME_SIZE
: tamanho do volume raiz, em Gb -
ROOT_VOLUME_TYPE
: o tipo de volume AWS EBS do volume raiz -
SECURITY_GROUP_IDS
: os IDs do grupo de segurança da AWS a serem adicionados às instâncias do plano de controle do cluster -
SECURITY_GROUP_IDS
: os IDs do grupo de segurança da AWS a serem adicionados às instâncias do plano de controle do cluster
API
Ao atualizar um cluster usando a API Multi-Cloud do GKE, você sempre precisa incluir os campos CLUSTER_NAME
e GOOGLE_CLOUD_LOCATION
na solicitação HTTP. Esses campos informam ao GKE na AWS qual cluster atualizar. Você também precisa incluir o endpoint da API na solicitação. Crie um arquivo JSON com os campos que deseja atualizar. Inclua apenas os campos que deseja atualizar no arquivo JSON e na UPDATE_MASK
.
O exemplo a seguir mostra como atualizar seu cluster por meio da API. Para obter mais informações, incluindo a lista de campos que você pode atualizar, consulte a documentação do método projects.locations.awsClusters.patch
.
Crie um arquivo JSON chamado
cluster_update.json
com os campos que você deseja atualizar.{ "controlPlane": { "version": "CLUSTER_VERSION", }, "description": "CLUSTER_DESCRIPTION", "authorization": { "adminUsers": [ { "username": USERNAME1, "username": USERNAME2, "username": USERNAME3 } ] } }
Substitua o seguinte:
-
CLUSTER_VERSION
: a nova versão do cluster com suporte . Observe que você deve atualizar todas as versões secundárias ao atualizar seu cluster. -
CLUSTER_DESCRIPTION
: a nova descrição do cluster -
USERNAME1
,USERNAME2
,USERNAME3
: os endereços de e-mail dos usuários aos quais você está concedendo privilégios administrativos neste cluster. Os nomes nesses campos substituirão qualquer lista anterior de usuários administradores no cluster.
-
Atualize essas configurações por meio da API GKE Multi-Cloud com o seguinte comando.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_NAME?update_mask=UPDATE_MASK
Substitua o seguinte:
-
ENDPOINT
(obrigatório): Seu Google Cloudponto final do serviço -
PROJECT_ID
(obrigatório): Seu Google Cloud projeto -
GOOGLE_CLOUD_LOCATION
(obrigatório): o suportado Google Cloud região que gerencia seu cluster — por exemplo,us-west1
-
CLUSTER_NAME
(obrigatório): Nome do seu cluster -
UPDATE_MASK
(obrigatório): uma lista separada por vírgulas de um ou mais dos seguintes sinalizadores, indicando quais campos você deseja atualizar. Neste exemplo, especifique o seguinte.- controlPlane.versão
- descrição
- autorização.admin_users
Atualize os grupos de segurança do seu cluster
Para atualizar os grupos de segurança do seu cluster, a função do plano de controle do cluster deve ter a permissão ec2:ModifyNetworkInterfaceAttribute
. Para obter mais informações, consulte Criar a função do plano de controle .
Você pode usar o comando gcloud container aws clusters update
para adicionar grupos de segurança adicionais ao seu plano de controle de cluster.
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--security-group-ids=SECURITY_GROUP_IDS
Substitua o seguinte:
-
CLUSTER_NAME
: nome do seu cluster -
GOOGLE_CLOUD_LOCATION
: o suportado Google Cloud região que gerencia seu cluster — por exemplo,us-west1
-
SECURITY_GROUP_IDS
: os IDs do grupo de segurança da AWS a serem adicionados às instâncias do plano de controle do cluster
Remover grupos de segurança do cluster
Você pode remover todos os grupos de segurança não padrão do seu cluster com a Google Cloud CLI. Para atualizar um cluster, execute:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--clear-security-group-ids
Substitua o seguinte:
-
CLUSTER_NAME
: nome do seu cluster -
GOOGLE_CLOUD_LOCATION
: o suportado Google Cloud região que gerencia seu cluster — por exemplo,us-west1
Atualizar informações de volume do cluster
Você pode atualizar os volumes do plano de controle do seu cluster com a Google Cloud CLI. Para atualizar as chaves KMS de volume, consulte Rotação de chaves .
Para atualizar o tamanho, o tipo ou o IOPS do volume, execute o seguinte comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--root-volume-iops=ROOT_VOLUME_IOPS
--root-volume-size=ROOT_VOLUME_SIZE
--root-volume-type=ROOT_VOLUME_TYPE
Substitua o seguinte:
-
CLUSTER_NAME
: nome do seu cluster -
GOOGLE_CLOUD_LOCATION
: o suportado Google Cloud região que gerencia seu cluster — por exemplo,us-west1
-
ROOT_VOLUME_IOPS
: operações de E/S do volume raiz por segundo -
ROOT_VOLUME_SIZE
: tamanho do volume raiz, em Gb -
ROOT_VOLUME_TYPE
: o tipo de volume AWS EBS do volume raiz.
Atualizar configuração de registro
Você pode atualizar as configurações do Cloud Logging do seu cluster com a Google Cloud CLI. Para atualizar a configuração do log, execute o seguinte comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Substitua o seguinte:
-
CLUSTER_NAME
: nome do seu cluster -
GOOGLE_CLOUD_LOCATION
: o suportado Google Cloud região que gerencia seu cluster — por exemplo,us-west1
-
LOGGING_CONFIG
: [SISTEMA] ou [SISTEMA,CARGA DE TRABALHO]
O que vem a seguir
- Para atualizar as chaves KMS de volume, consulte Rotação de chaves
- Para obter mais informações sobre campos atualizáveis, consulte a documentação de referência
gcloud container aws clusters update
. - Consulte a documentação da API REST
projects.locations.awsClusters.patch
.