Atualize os parâmetros do seu cluster do Azure

Esta página descreve como atualizar as configurações do seu cluster do GKE no Azure. 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 seu 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 atualizar o tamanho da VM do seu cluster.
  • Para atualizar o AzureClient do seu cluster.
  • Para atualizar a autenticação do seu cluster do AzureClient para a federação de identidade da carga de trabalho.

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 azure clusters update e projects.locations.azureClusters.patch .

Pré-requisitos

  • Para atualizar qualquer um dos campos do seu cluster, você precisa ter a permissão gkemulticloud.googleapis.com/azureClusters.update Identity and Access Management.

O processo de atualização

O processo pelo qual o GKE no Azure atualiza um cluster varia de acordo com o tipo de atualização. Para algumas alterações, o GKE no Azure pode atualizar um cluster sem reiniciar ou recriar nenhum recurso — por exemplo, atualizar a descrição de um cluster. O GKE no Azure faz essas alterações imediatamente.

Outras alterações exigem a reinicialização dos nós do plano de controle — por exemplo, a atualização do tamanho da VM ou da versão do Kubernetes. Para essas atualizações, o GKE no Azure executa uma "atualização contínua" que consiste nas seguintes etapas:

  1. Selecione uma instância do plano de controle para atualizar. O GKE no Azure atualiza instâncias com problemas de integridade, se houver, antes das íntegras.
  2. Exclua a instância. O GKE no Azure recria a instância e ela é inicializada com a nova configuração.
  3. Execute verificações de integridade na nova instância.
  4. 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 no Azure colocará o cluster em um estado DEGRADED e interromperá a atualização. Para obter mais informações, consulte a seção a seguir.

Quando uma atualização falha

Após uma atualização, o GKE no Azure executa 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 azure 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

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

    Ir para clusters do GKE

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

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

  4. 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.

  5. 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 no Azure qual cluster atualizar. No comando a seguir, inclua apenas os campos que deseja atualizar; remova os outros campos antes de executar o comando.

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --cluster-version=CLUSTER_VERSION \
    --admin-users=USERNAME_LIST \
    --client=CLIENT_NAME \
    --vm-size=VM_SIZE 

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.
  • CLIENT_NAME : seu AzureClient
  • VM_SIZE : o novo tamanho de VM suportado

Para atualizar a autenticação do cluster do AzureClient para a federação de identidade da carga de trabalho , execute o seguinte comando:

gcloud container azure clusters update CLUSTER_NAME \
    --location=GOOGLE_CLOUD_LOCATION \
    --azure-tenant-id="${TENANT_ID}" \
    --azure-application-id="${APPLICATION_ID}" \
    --clear-client

API

Ao atualizar um cluster usando a API Multi-Cloud do GKE, você deve sempre incluir os campos CLUSTER_NAME e GOOGLE_CLOUD_LOCATION na solicitação HTTP. Esses campos informam ao GKE no Azure qual cluster atualizar. Você também deve incluir o ponto de extremidade 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.azureClusters.patch .

  1. Crie um arquivo JSON chamado cluster_update.json com os campos que você deseja atualizar.

    • Ao usar a federação de identidade de carga de trabalho , o arquivo JSON deve ficar assim:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureServicesAuthentication": {
          "tenantId": "TENANT_ID",
          "applicationId": "APPLICATION_ID"
        },
        "authorization": {
            "adminUsers": [
                {
                "username": USERNAME1,
                "username": USERNAME2,
                "username": USERNAME3
                }
            ]
        }
      }
      
    • Ao usar o cliente do Azure , o arquivo JSON deve ficar assim:
      {
        "description": "CLUSTER_DESCRIPTION",
        "controlPlane": {
          "version": "CLUSTER_VERSION",
          "vm_size": "VM_SIZE
        },
        "azureClient": "CLIENT_NAME",
        "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.
    • CLIENT_NAME : seu nome do AzureClient
    • TENANT_ID : o ID do locatário do Azure
    • APPLICATION_ID : o ID do aplicativo do Azure que foi criado em Criar um aplicativo do Azure Active Directory
    • VM_SIZE : o novo tamanho da VM
  2. 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/azureClusters/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
    • plano_de_controle.tamanho_da_vm
    • cliente_azul
    • autenticação_dos_serviços_do_azure.id_do_locatário
    • azure_services_authentication.id_do_aplicativo

Para atualizar a autenticação do cluster do AzureClient para a federação de identidade da carga de trabalho , adicione azure_client , azure_services_authentication.tenant_id e azure_services_authentication.application_id no campo update_mask .

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 azure 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