Fazer upgrade da versão do cluster da AWS

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:

  1. 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.
  2. Crie um novo modelo de inicialização para a instância.
  3. Atualize o modelo de lançamento do grupo de escalonamento automático.
  4. Exclua a instância. A AWS recria a instância e a inicialização dela com a nova configuração.
  5. Faça verificações de integridade na nova instância.
  6. 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.
  7. 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

  1. No console do Google Cloud, acesse a página Visão geral dos clusters do Google Kubernetes Engine.

    Acesse os clusters do GKE

  2. Selecione o projeto do Google Cloud em que o cluster está.

  3. Na lista de clusters, selecione o nome do cluster e, em seguida, Ver detalhes no painel lateral.

  4. Na guia Detalhes, selecione Fazer upgrade.

  5. 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:

API

Para atualizar o cluster com a API, use uma operação PATCH na API GKE Multi-cloud.

  1. 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
  2. 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:

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