Neste documento, mostramos como executar uma atualização de cluster que não inclui uma alteração de 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 Google Distributed Cloud.
Revise suas regras de firewall
Na versão 1.29 e mais recentes, as verificações de simulação do lado do servidor estão ativadas por padrão. As verificações de simulação do lado do servidor exigem regras de firewall adicionais. Em Regras de firewall para clusters de administrador, procure "Verificações de simulação" e verifique se todas as regras de firewall necessárias estão configuradas.
Com as verificações de simulação do lado do servidor, quando você atualiza um cluster de usuário usando
gkectl
, elas são executadas no cluster do administrador, e não localmente
na estação de trabalho do administrador. As verificações de simulação do lado do servidor são executadas no cluster de
administrador quando você usa o console do Google Cloud, a Google Cloud CLI ou o Terraform
para atualizar um cluster.
Quando você atualiza um cluster de administrador, o Google Distributed Cloud implanta um cluster de Kubernetes no Docker (tipo) para hospedar temporariamente os controladores do Kubernetes necessários para atualizar o cluster de administrador. Esse cluster temporário é chamado de cluster de inicialização. As verificações de simulação do lado do servidor são executadas no cluster de inicialização quando você atualiza um cluster de administrador.
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 Imutáveis.
Você também pode conferir quais recursos e configurações podem ser atualizados executando comandos
gkectl
.
Para verificar 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 verificar 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
Atualizar apenas um recurso ou configuração por vez. Por exemplo, suponha que você queira atualizar a CPU e a memória mestre e também desativar o reparo automático.
Em seguida, você faria duas atualizações separadas: uma para a CPU e a memória mestre e outro reparo automático. Verifique se a primeira atualização foi bem-sucedida antes de fazer a segunda.
Procedimento de atualização
É possível usar 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, pode usá-lo para atualizá-lo. Em quase todos os casos, é necessário
usar gkectl
para atualizar clusters de administrador.
Os exemplos a seguir mostram como atualizar clusters.
gkectl
O comando gkectl update
assume uma das seguintes formas:
gkectl update credentials
: use para atualizar as credenciais do cluster.gkectl update admin
: execute esse comando depois de fazer uma alteração no arquivo de configuração do cluster de administrador.gkectl update cluster
: execute esse comando depois de fazer uma alteração no arquivo de configuração do cluster de usuário.
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 alterar 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
No console, acesse a página de visão geral dos clusters do Google Kubernetes Engine.
Selecione o projeto do Google Cloud e o cluster que você quer atualizar.
No painel Detalhes, clique em Mais detalhes.
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 será aberta, altere os valores do campo conforme desejado e clique em CONCLUÍDO.
Na parte de cima da página, clique em Mostrar detalhes na barra de progresso. 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:
Clusters de administrador:
gcloud container vmware admin-clusters update
Clusters de usuário:
gcloud container vmware clusters update
Pools de nós em um cluster de usuário:
gcloud container vmware node-pools update
Atualizar usuários administradores em um cluster de usuário
O servidor da API Kubernetes de cada cluster precisa autorizar as solicitações
recebidas. Para configurar a autorização, você precisa configurar as políticas de controle de acesso baseado em papéis (RBAC) 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. Suponha que Alice queira adicionar Trent como usuário administrador adicional. Alice poderia executar o seguinte comando:
gcloud container vmware clusters update cluster-1 \ --project example-project-id-12345 \ --location us-west1 \ --admin-users [email protected] \ --admin-users [email protected] \ --admin-users [email protected]
O comando anterior mantém Alice e Bob na lista de usuários administradores e adiciona Trent à lista de usuários administradores. Observe que Alice e Bob precisam estar listados no comando, porque o comando 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
Altere os valores dos campos aplicáveis no arquivo de configuração do Terraform que você usou 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:
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 autorizar as solicitações
recebidas. Para configurar a autorização, você precisa configurar as políticas de controle de acesso baseado em papéis (RBAC) 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. Suponha que Alice queira adicionar Trent como um usuário administrador adicional. Alice pode ajustar a configuração do Terraform da seguinte maneira e, em seguida, executar terraform apply
:
authorization { admin_users { username = "[email protected]" username = "[email protected]" username = "[email protected]" } }
O ajuste anterior mantém Alice e Bob na lista de usuários administradores e adiciona Trent à lista de usuários administradores. 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 o uso de
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:
Como alternar os certificados de CA do cluster de administrador
Como alternar autoridades de certificação do cluster de usuário