Nesta página, explicamos como fazer upgrade da versão do Kubernetes dos clusters do GKE na AWS.
Pré-requisitos
O upgrade da versão do Kubernetes do cluster é um caso específico da operação de atualização de cluster mais geral. Leia sobre operações de atualização de cluster em geral na página Atualizar o cluster. Para fazer upgrade da versão do cluster, faça o seguinte:
- É necessário fazer upgrade por meio de cada versão secundária entre a versão atual e a de destino. Por exemplo, para fazer o upgrade de 1.20 para 1.22, primeiro faça upgrade da 1.20 para 1.21, depois faça upgrade da 1.21 para 1.22.
- É necessário ter a permissão
gkemulticloud.googleapis.com/awsClusters.update
do Identity and Access Management.
Como o GKE na AWS executa atualizações
Como o upgrade de um cluster requer a reinicialização dos nós do plano de controle, o GKE na AWS executa uma "atualização gradual" com as seguintes etapas:
- Escolha uma instância do plano de controle para atualizar. O GKE na AWS atualiza as instâncias não íntegras, se houver, antes das íntegras.
- Crie um novo modelo de inicialização para a instância.
- Atualize o modelo de lançamento do grupo de escalonamento automático.
- Exclua a instância. A AWS recria a instância e a inicialização dela com a nova configuração.
- Faça 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 mais informações, consulte a seção a seguir. - Exclua o modelo de lançamento original
Quando uma atualização falha
Depois de uma atualização, o GKE na AWS executa uma verificação de integridade no cluster.
Se a verificação de integridade falhar, o cluster será marcado como DEGRADED
. É possível exibir
o status do cluster com o seguinte comando da Google Cloud CLI:
gcloud container aws clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
Substitua:
CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: a região do Google Cloud que gerencia o cluster
Faça upgrade
Verificar a versão do cluster
Antes de fazer upgrade da versão do cluster, use o seguinte comando para verificar quais versões estão disponíveis na sua região:
gcloud container aws get-server-config \
--location=GOOGLE_CLOUD_LOCATION
Substitua GOOGLE_CLOUD_LOCATION
pelo local do Google
Cloud de onde você gerencia os clusters.
Escolher um método de upgrade
É possível fazer upgrade da versão do cluster usando o console do Google Cloud, a CLI do Google Cloud ou a API GKE Multi-cloud. Se você quiser usar o console para fazer upgrade de um cluster, primeiro escolha e configure um método de autenticação para fazer login no cluster. Saiba mais em Conectar e autenticar no seu cluster.
Console
No console do Google Cloud, acesse a página Visão geral dos clusters do Google Kubernetes Engine.
Selecione o projeto do Google Cloud em que o cluster está.
Na lista de clusters, selecione o nome do cluster e, em seguida, Ver detalhes no painel lateral.
Na guia Detalhes, selecione
Fazer upgrade.Na caixa de diálogo Fazer upgrade da versão do Kubernetes do cluster, selecione a versão para que você quer fazer upgrade e clique em Concluído. Lembre-se de fazer upgrade em todas as versões secundárias nos upgrades do seu cluster.
gcloud
Para fazer upgrade da versão do Kubernetes do cluster, execute o seguinte comando:
gcloud container aws clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION
Substitua:
CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: a região compatível com o Google Cloud que gerencia seu cluster, por exemplo,us-west1
CLUSTER_VERSION
: a nova versão de cluster compatível
API
Para atualizar o cluster com a API, use uma operação PATCH
na
API GKE Multi-cloud.
Crie um arquivo JSON chamado
cluster_update.json
com o seguinte conteúdo:{ "controlPlane": { "version": "CLUSTER_VERSION", }, }
Substitua:
CLUSTER_VERSION
: a nova versão de cluster compatível; Observe que você precisa fazer upgrade em todas as versões secundárias ao fazer upgrade do cluster
Atualize essas configurações por meio da API GKE Multi-Cloud com o comando a seguir.
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters/CLUSTER_ID?update_mask=controlPlane.Version
Substitua:
ENDPOINT
: seu endpoint de serviço do Google CloudPROJECT_ID
: o projeto do Google CloudGOOGLE_CLOUD_LOCATION
: a região compatível com o Google Cloud que gerencia seu cluster, por exemplo,us-west1
CLUSTER_ID
: o ID do cluster
Para mais informações, consulte a
documentação
do método projects.locations.awsClusters.patch
.
Fazer upgrade dos pools de nós
Depois de fazer upgrade da versão do cluster, faça upgrade dos pools de nós para concluir o processo. Para saber como, consulte Atualizar um pool de nós.
A seguir
Saiba como executar outras atualizações de cluster.
Para mais informações sobre os 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
.