Atualizar um cluster

Neste documento, mostramos como executar uma atualização de cluster que não inclui uma alteração na versão.

Uma atualização de cluster é uma alteração na configuração do cluster.

Um upgrade de cluster é um caso especial de atualização de cluster que inclui uma alteração na versão do plano de controle ou em uma versão do pool de nós. Para informações sobre como fazer upgrade, consulte Como fazer upgrade do GKE na VMware.

O que pode ser atualizado

Alguns recursos e configurações do cluster podem ser atualizados, mas outros recursos e configurações não podem ser atualizados após a criação do cluster. Para ver quais recursos podem ser atualizados, consulte as páginas de referência do arquivo de configuração do cluster de administrador e do arquivo de configuração do cluster de usuário. Os campos que podem ser atualizados são marcados como Mutáveis e os que não podem ser atualizados são marcados como Immutáveis.

Também é possível ver quais recursos e configurações podem ser atualizados executando comandos gkectl.

Para conferir o que pode ser atualizado em um cluster de administrador:

gkectl update admin --help

Exemplo de saída:

Update the admin cluster. Only the following updates are supported and they can
only be updated one at a time:
- Enabling/Disabling Vsphere Resource Metrics
- Adding static IPs
- Updating vCenter CA certificate
- Registering Admin Cluster
- Enabling/Disabling Cloud Audit Logging
- Enabling/Disabling Stackdriver
- Enabling/Disabling Auto Repair
- Enabling/Disabling Auto Resize for Addon Nodes
- Enabling/Disabling GKE OnPrem API
- Updating OS Image Type
- Enabling/Disabling AntiAffinityGroups
- Update Secrets Encryption Configuration
- [Preview] Enabling/Disabling Cluster Backup
- [Preview] Update Cluster Backup configs

Para conferir o que pode ser atualizado em um cluster de usuário:

gkectl update cluster --help

Exemplo de saída:

Update a GKE On-Prem cluster. Only the following updates are supported and they
can only be updated one at a time:
- Adding static IPs
- Updating node pool
- Updating user master cpu and memory
- Enabling/Disabling Vsphere Resource Metrics
- Enabling/Disabling vSphere CSI deployment
- Enabling/Disabling Auto Repair
- Enabling/Disabling Cloud Audit Logging
- Enabling/Disabling Stackdriver
- Enabling/Disabling GKE OnPrem API
- Registering User Cluster
- Updating vCenter CA certificate
- Updating MetalLB Address Pools
- Enabling/Disabling Auto Resizing on user master
- Updating NodePoolUpdatePolicy
- Enabling/Disabling AntiAffinityGroups
- [Preview] Enabling/Disabling Node Network Policy
- Updating Secrets Encryption
- Enabling/Disabling DataplaneV2 forwardMode

Atualizar um item de cada vez

Atualize apenas um recurso ou configuração por vez. Por exemplo, suponha que você queira atualizar a CPU e a memória mestre e desativar o reparo automático.

Em seguida, você faria duas atualizações separadas: uma para a CPU e a memória mestre e outra para o reparo automático. Verifique se a primeira atualização foi bem-sucedida antes de fazer a segunda.

Procedimento de atualização

É possível usar o gkectl, o console do Google Cloud ou a Google Cloud CLI para fazer atualizações em um cluster de usuário. Se você criou o cluster de usuário usando o Terraform, poderá usá-lo para atualizar o cluster. Em quase todos os casos, você precisa usar gkectl para atualizar os clusters de administrador.

Os exemplos a seguir mostram como atualizar clusters.

gkectl

O comando gkectl update tem um destes formatos:

Exemplo de cluster de administrador (gkectl update admin)

Suponha que você queira alterar o valor de gkeOnPremAPI.enabled de false para true em um cluster de administrador. Primeiro, edite o arquivo de configuração do cluster de administrador e defina o valor como true:

gkeOnPremAPI:
  enabled: true

Em seguida, atualize o cluster de administrador:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Substitua:

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador

  • ADMIN_CLUSTER_CONFIG: é o caminho do arquivo de configuração do cluster de administrador

Exemplo de cluster de usuário (gkectl update cluster)

Suponha que você queira mudar o valor de stackdriver.vSphereDisableResourceMetrics de false para true em um cluster de usuário. Primeiro, edite o arquivo de configuração do cluster de usuário e defina o valor como true:

stackdriver:
  disableVsphereResourceMetrics: true

Em seguida, atualize o cluster de usuário:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Substitua:

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador

  • USER_CLUSTER_CONFIG: é o caminho do arquivo de configuração do cluster de usuário

Exemplo de cluster de usuário (gkectl update credentials)

Suponha que você queira alterar as credenciais que um cluster de usuário usa para chamar o servidor vCenter.

O arquivo de configuração do cluster de usuário tem um campo vCenter.credentials.fileRef.path que aponta para um arquivo de configuração de credenciais. No arquivo de configuração de credenciais, atualize os valores de username e password. Exemplo:

items:
- name: "vcenter-creds"
  username: "new-vcenter-account"
  password: "U$icUKEW#INE"

Em seguida, atualize as credenciais:

gkectl update credentials vsphere \
    --config USER_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Substitua:

  • USER_CLUSTER_CONFIG: o caminho do arquivo de configuração do cluster de usuário.

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador

Console

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

    Acesse os clusters do GKE

  2. Selecione o projeto do Google Cloud e, em seguida, selecione o cluster que você quer atualizar.

  3. No painel Detalhes, clique em Mais detalhes.

  4. Os campos que podem ser atualizados no console do Google Cloud têm um ícone de lápis. Clique em um dos ícones de lápis. Na caixa que aparecer, altere os valores dos campos conforme desejado e clique em CONCLUÍDO.

  5. Na parte de cima da página, na barra de progresso, clique em Mostrar detalhes. Aguarde a conclusão da atualização.

CLI da gcloud

Execute o comando de atualização aplicável. Especifique apenas as sinalizações da configuração que você quer modificar:

Atualizar usuários administradores em um cluster de usuário

O servidor da API Kubernetes de cada cluster precisa ser capaz de autorizar as solicitações recebidas. Para configurar a autorização, é preciso configurar as políticas de controle de acesso baseadas em papéis (RBAC, na sigla em inglês) do Kubernetes em cada cluster. Um usuário administrador é um usuário que recebeu o papel cluster-admin no cluster de usuário. Esse papel concede ao usuário acesso administrativo total ao cluster.

Suponha que Alice e Bob sejam os únicos usuários administradores no cluster de usuário chamado cluster-1 na região us-west1. E suponha que Alice queira adicionar Trent como usuário administrador adicional. Alice pode executar o seguinte comando:

gcloud container vmware clusters update cluster-1 \
    --project example-project-id-12345 \
    --location us-west1 \
    --admin-users alice@example.com \
    --admin-users bob@example.com \
    --admin-users trent@example.com

O comando anterior mantém Alice e Bob na lista de usuários administradores e adiciona Trent à lista de usuários administradores. Alice e Bob precisam estar listados no comando, porque ele substitui a lista atual de usuários administradores pela lista especificada no comando. Além disso, cada flag --admin-users especifica apenas um usuário. Não é possível especificar vários usuários em uma única sinalização.

Terraform

  1. Altere os valores dos campos aplicáveis no arquivo de configuração do Terraform usado para criar o cluster ou o pool de nós. Para descrições detalhadas dos campos, consulte a documentação de referência do Terraform:

  2. Atualize a configuração executando terraform apply.

Atualizar usuários administradores em um cluster de usuário

O servidor da API Kubernetes de cada cluster precisa ser capaz de autorizar as solicitações recebidas. Para configurar a autorização, é preciso configurar as políticas de controle de acesso baseadas em papéis (RBAC, na sigla em inglês) do Kubernetes em cada cluster. Um usuário administrador é um usuário que recebeu o papel cluster-admin no cluster de usuário. Esse papel concede ao usuário acesso administrativo total ao cluster.

Suponha que Alice e Bob sejam os únicos usuários administradores em um cluster de usuário específico. E suponha que Alice queira adicionar Trent como usuário administrador adicional. Alice pode ajustar a configuração do Terraform da seguinte maneira e executar terraform apply:

authorization {
  admin_users {
    username = "alice@example.com"
    username = "bob@example.com"
    username = "trent@example.com"
  }
}

O ajuste anterior mantém Alice e Bob na lista de usuários administradores e adiciona Trent a essa lista. Observe que Alice e Bob precisam estar listados na nova configuração, porque o comando terraform apply substitui a lista atual de usuários administradores pela lista especificada na configuração.

Mais informações

Os documentos listados nesta seção fornecem mais detalhes sobre a atualização de clusters.

Atualizar cluster/administrador

Os documentos a seguir fornecem detalhes sobre como usar gkectl update admin e gkectl update cluster para atualizar recursos e configurações:

Atualizar credenciais

Os documentos a seguir fornecem detalhes sobre o uso de gkectl update credentials para atualizar chaves e certificados:

A seguir

Fazer upgrade de um cluster