Atualize a versão do cluster do Azure

Esta página explica como atualizar a versão do Kubernetes dos seus clusters do GKE no Azure.

Pré-requisitos

A atualização da versão do Kubernetes do cluster é um caso específico da operação de atualização do cluster mais geral. Pode ler acerca das operações de atualização de clusters em geral na página atualize o seu cluster. Para atualizar a versão do cluster:

  • Tem de fazer a atualização através de todas as versões secundárias entre a versão atual e a versão de destino. Por exemplo, para atualizar de 1.20 para 1.22, tem de atualizar primeiro de 1.20 para 1.21 e, em seguida, de 1.21 para 1.22.
  • Tem de ter a autorização gkemulticloud.googleapis.com/azureClusters.update Identity and Access Management.

Como o GKE no Azure faz atualizações

Uma vez que a atualização de um cluster requer o reinício dos nós do plano de controlo, o GKE no Azure executa uma "atualização contínua" com os seguintes passos:

  1. Escolha uma instância do plano de controlo para atualizar. O GKE no Azure atualiza as instâncias não íntegras, se existirem, antes das instâncias íntegras.
  2. Elimine a instância. O GKE no Azure recria a instância e a instância é iniciada com a nova configuração.
  3. Realize verificações de funcionamento na nova instância.
  4. Se as verificações de funcionamento forem bem-sucedidas, selecione outra instância e execute os mesmos passos. Repita este ciclo até todas as instâncias serem reiniciadas ou recriadas. Se a verificação de estado falhar, o GKE no Azure coloca o cluster no estado DEGRADED e para a atualização. Para mais informações, consulte a secção seguinte.

Quando uma atualização falha

Após uma atualização, o GKE no Azure executa uma verificação de estado no cluster. Se a verificação de estado falhar, o cluster é marcado como DEGRADED. Pode apresentar o estado do cluster com o seguinte comando da CLI do Google Cloud:

gcloud container azure clusters describe CLUSTER_NAME \
  --location=GOOGLE_CLOUD_LOCATION

Substitua o seguinte:

  • CLUSTER_NAME: o nome do seu cluster
  • GOOGLE_CLOUD_LOCATION: a Google Cloud região que gere o seu cluster

Faça a atualização

Verifique a versão do cluster

Antes de atualizar a versão do cluster, use o seguinte comando para verificar que versões estão disponíveis na sua região:

gcloud container azure get-server-config \
    --location=GOOGLE_CLOUD_LOCATION

Substitua GOOGLE_CLOUD_LOCATION pela Google Cloud localização a partir da qual gere os seus clusters.

Escolha um método de atualização

Pode atualizar a versão do cluster através da Google Cloud consola, da CLI Google Cloud ou da API GKE Multi-Cloud. Se quiser usar a consola para atualizar um cluster, primeiro tem de escolher e configurar um método de autenticação para iniciar sessão no cluster. Para mais informações, consulte o artigo Estabeleça ligação e autentique-se no seu cluster.

Consola

  1. Na Google Cloud consola, aceda à página Vista geral dos clusters do Google Kubernetes Engine.

    Aceda aos clusters do GKE

  2. Selecione o Google Cloud projeto no qual o cluster se encontra.

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

  4. No separador Detalhes, selecione Atualizar.

  5. Na caixa de diálogo Atualize a versão do Kubernetes para o cluster, selecione a versão para a qual quer atualizar e clique em Concluído. Tenha em atenção que tem de atualizar todas as versões secundárias quando atualiza o cluster.

gcloud

Para atualizar a versão do Kubernetes do cluster, execute o seguinte comando:

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --cluster-version=CLUSTER_VERSION

Substitua o seguinte:

API

Para atualizar o cluster através da API, use uma operação PATCH na API GKE Multi-Cloud.

  1. Crie um ficheiro JSON denominado cluster_update.json com o seguinte conteúdo:

    {
        "controlPlane": {
           "version": "CLUSTER_VERSION",
        },
    }
    

    Substitua o seguinte:

    • CLUSTER_VERSION: a nova versão do cluster suportada. Tenha em atenção que tem de fazer a atualização através de todas as versões secundárias quando atualiza o cluster
  2. Atualize estas definições através da API GKE Multi-Cloud com o seguinte comando.

    curl -d @cluster_update.json -X PATCH \
       ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/azureClusters/CLUSTER_ID?update_mask=controlPlane.Version
    

Substitua o seguinte:

Para mais informações, consulte a documentação do método projects.locations.azureClusters.patch.

Atualize os node pools

Depois de atualizar a versão do cluster, atualize os conjuntos de nós para concluir o processo. Para saber como, consulte o artigo Atualize um node pool.

O que se segue?