Atualize os parâmetros do cluster do Azure
Esta página descreve como atualizar as definições do cluster do GKE on Azure. Pode usar estas instruções para atualizar qualquer definição atualizável no cluster, incluindo a versão do Kubernetes. Uma vez que a atualização da versão é uma das operações de atualização de clusters mais comuns, a página separada Atualize o seu cluster aborda a forma de atualizar a versão de um cluster.
Motivos para atualizar um cluster
Pode atualizar um cluster por qualquer um dos seguintes motivos:
- Para atualizar a descrição do cluster.
- Para atualizar as anotações do cluster.
- Para atualizar a lista de utilizadores administrativos do cluster.
- Para atualizar a configuração de registo do cluster.
- Para atualizar o tamanho da VM do cluster.
- Para atualizar o AzureClient do cluster.
- Para atualizar a autenticação do cluster de AzureClient para federação de identidade da carga de trabalho.
Também pode atualizar outros campos nos seus clusters que não estão indicados aqui.
Para ver uma lista completa dos campos que pode atualizar, consulte a documentação
gcloud container azure clusters update
e a documentação
projects.locations.azureClusters.patch
.
Pré-requisitos
Para atualizar qualquer um dos campos do cluster, tem de ter a autorização de
gkemulticloud.googleapis.com/azureClusters.update
gestão de identidade e de acesso.
O processo de atualização
O processo pelo qual o GKE no Azure atualiza um cluster difere consoante o tipo de atualização. Para algumas alterações, o GKE no Azure pode atualizar um cluster sem reiniciar nem recriar recursos. Por exemplo, pode atualizar a descrição de um cluster. O GKE no Azure faz estas alterações imediatamente.
Outras alterações requerem o reinício dos nós do plano de controlo, por exemplo, a atualização do tamanho da VM ou da versão do Kubernetes. Para estas atualizações, o GKE no Azure executa uma "atualização contínua" que consiste nos seguintes passos:
- 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.
- Elimine a instância. O GKE no Azure recria a instância e a instância é iniciada com a nova configuração.
- Realize verificações de funcionamento na nova instância.
- 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 clusterGOOGLE_CLOUD_LOCATION
: a Google Cloud região que gere o seu cluster
Atualize o cluster
Pode usar a Google Cloud consola, a CLI Google Cloud ou a API GKE Multi-Cloud para atualizar vários campos do cluster em simultâneo.
Escolha um método de atualização
Pode atualizar a maioria dos campos através da consola, da CLI gcloud ou da API GKE Multi-Cloud. Alguns campos só podem ser atualizados através de um mecanismo ou outro. 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
Na Google Cloud consola, aceda à página Vista geral dos clusters do Google Kubernetes Engine.
Selecione o Google Cloud projeto no qual o cluster se encontra.
Na lista de clusters, selecione o nome do cluster e, de seguida, selecione Ver detalhes no painel lateral.
No separador Detalhes, selecione
Editar no campo que quer alterar.Por exemplo, para conceder privilégios administrativos do cluster a outros utilizadores, selecione
Editar junto a Utilizadores administradores e introduza o endereço de email do utilizador.Quando terminar as alterações, selecione Concluído.
gcloud
Quando atualiza um cluster através da CLI gcloud, tem sempre de incluir os campos CLUSTER_NAME
e GOOGLE_CLOUD_LOCATION
, que indicam ao GKE no Azure que cluster atualizar. No comando seguinte, inclua apenas os campos que quer 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 clusterGOOGLE_CLOUD_LOCATION
(obrigatório): a região suportada Google Cloud que gere o seu cluster, por exemplo,us-west1
CLUSTER_VERSION
: a nova versão do cluster suportadaUSERNAME_LIST
: uma lista de nomes de utilizador separados por vírgulas, por exemplo, "kai@example.com,hao@example.com,kalani@example.com". Estes são os endereços de email dos utilizadores aos quais está a conceder privilégios administrativos neste cluster. Os nomes nesta definição substituem qualquer lista anterior de utilizadores administradores no cluster.CLIENT_NAME
: o seu AzureClientVM_SIZE
: o novo tamanho da VM suportado
Para atualizar a autenticação do cluster de AzureClient para 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
Quando atualiza um cluster através da API GKE Multi-Cloud, tem sempre de incluir os campos CLUSTER_NAME
e GOOGLE_CLOUD_LOCATION
no pedido HTTP. Estes campos indicam ao GKE no Azure que cluster atualizar. Também tem de
incluir o ponto final da API no pedido. Cria um ficheiro JSON com os campos que quer atualizar. Inclua apenas os campos que quer
atualizar no ficheiro JSON e no UPDATE_MASK
.
O exemplo seguinte mostra como atualizar o cluster através da API.
Para mais informações, incluindo a lista de campos que pode atualizar, consulte a documentação do método projects.locations.azureClusters.patch
.
Crie um ficheiro JSON denominado
cluster_update.json
com os campos que quer atualizar.- Quando usar a federação de identidades de cargas de trabalho,
o ficheiro JSON deve ter o seguinte aspeto:
{ "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 } ] } }
- Quando usar o cliente do Azure,
o ficheiro JSON deve ter o seguinte aspeto:
{ "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 suportada. Tenha em atenção que tem de fazer a atualização através de todas as versões secundárias quando atualiza o clusterCLUSTER_DESCRIPTION
: a nova descrição do clusterUSERNAME1
,USERNAME2
,USERNAME3
: os endereços de email dos utilizadores aos quais está a conceder privilégios administrativos neste cluster. Os nomes nestes campos substituem qualquer lista anterior de utilizadores administradores no cluster.CLIENT_NAME
: o nome do seu AzureClientTENANT_ID
: o ID do inquilino do AzureAPPLICATION_ID
: o ID da aplicação Azure que foi criado em Crie uma aplicação Azure Active DirectoryVM_SIZE
: o novo tamanho da VM
- Quando usar a federação de identidades de cargas de trabalho,
o ficheiro JSON deve ter o seguinte aspeto:
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_NAME?update_mask=UPDATE_MASK
Substitua o seguinte:
ENDPOINT
(obrigatório): o seu Google Cloud ponto final do serviçoPROJECT_ID
(obrigatório): o seu Google Cloud projetoGOOGLE_CLOUD_LOCATION
(obrigatório): a região suportada Google Cloud que gere o seu cluster, por exemplo,us-west1
CLUSTER_NAME
(obrigatório): o nome do clusterUPDATE_MASK
(obrigatório): uma lista separada por vírgulas de um ou mais dos seguintes indicadores, que indicam os campos que quer atualizar. Neste exemplo, especifique o seguinte.- controlPlane.version
- descrição
- authorization.admin_users
- control_plane.vm_size
- azure_client
- azure_services_authentication.tenant_id
- azure_services_authentication.application_id
Para atualizar a autenticação do cluster de AzureClient para 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 registo
Pode atualizar as definições de configuração do Cloud Logging do cluster com a CLI Google Cloud. Para atualizar a configuração de registo, execute o seguinte comando:
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--logging=LOGGING_CONFIG \
Substitua o seguinte:
CLUSTER_NAME
: o nome do clusterGOOGLE_CLOUD_LOCATION
: a região suportada Google Cloud que gere o seu cluster, por exemplo,us-west1
LOGGING_CONFIG
: [SYSTEM] ou [SYSTEM,WORKLOAD]
O que se segue?
- Para atualizar as chaves do KMS de volume, consulte o artigo Alternância de chaves
- Para mais informações sobre os campos atualizáveis, consulte a
gcloud container azure clusters update
documentação de referência. - Consulte a
projects.locations.azureClusters.patch
documentação da API REST.