Este documento mostra como fazer uma atualização do cluster que não inclui uma alteração na versão.
Uma atualização de cluster é uma alteração à configuração do cluster.
Uma atualização de um cluster é um caso especial de uma atualização de cluster que inclui uma alteração à versão do plano de controlo ou uma alteração à versão de um node pool. Para informações sobre a atualização, consulte o artigo Atualizar o Google Distributed Cloud.
Reveja as regras de firewall
Na versão 1.29 e posteriores, as verificações prévias do lado do servidor estão ativadas por predefinição. As verificações prévias do lado do servidor requerem regras de firewall adicionais. Em Regras de firewall para clusters de administrador, pesquise "Verificações prévias" e certifique-se de que todas as regras de firewall necessárias estão configuradas.
Com as verificações prévias do lado do servidor, quando atualiza um cluster de utilizadores com gkectl
, as verificações prévias são executadas no cluster de administrador em vez de localmente na estação de trabalho de administrador. As verificações prévias do lado do servidor são executadas no cluster de administração quando usa a consola, a CLI Google Cloud ou o Terraform para atualizar um cluster. Google Cloud
Quando atualiza um cluster de administrador, o Google Distributed Cloud implementa um cluster Kubernetes in Docker (kind) para alojar temporariamente os controladores do Kubernetes necessários para atualizar o cluster de administrador. Este cluster transitório é denominado cluster de arranque. As verificações prévias do lado do servidor são executadas no cluster de arranque quando atualiza um cluster de administrador.
O que pode ser atualizado
É possível atualizar algumas funcionalidades e definições do cluster, mas não é possível atualizar outras funcionalidades e definições após a criação do cluster. Para ver que funcionalidades podem ser atualizadas, consulte as páginas de referência do ficheiro de configuração do cluster de administrador e do ficheiro de configuração do cluster de utilizador. Os campos que podem ser atualizados estão marcados como Mutáveis e os campos que não podem ser atualizados estão marcados como Imutáveis.
Também pode ver que funcionalidades e definições podem ser atualizadas através da execução de gkectl
comandos.
Para ver o que pode ser atualizado num 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 ver o que pode ser atualizado num cluster de utilizadores:
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
Atualize uma coisa de cada vez
Atualize apenas uma funcionalidade ou uma definição de cada vez. Por exemplo, suponhamos que quer atualizar a CPU e a memória principais e também quer desativar a reparação automática.
Em seguida, faria duas atualizações separadas: uma para a CPU principal e a memória, e outra para a reparação automática. Verifique se a primeira atualização foi realizada com êxito antes de fazer a segunda atualização.
Procedimento de atualização
Pode usar gkectl
, a consola Google Cloud ou a CLI gcloud para fazer atualizações a um cluster de utilizadores. Se criou o cluster de utilizadores com o Terraform, pode usar o Terraform para atualizar o cluster. Em quase todos os casos, tem de usar gkectl
para atualizar clusters de administrador.
Se estiver a usar o gkectl
para atualizar um cluster, certifique-se de que a sua estação de trabalho de administrador tem a versão necessária do gkectl
. Normalmente, usa a mesma versão do gkectl
que a versão do cluster que está a atualizar. As seguintes regras de versão são aplicadas durante a atualização:
A versão secundária
gkectl
não pode ser inferior à versão secundária do cluster. Por exemplo, não é permitido atualizar um cluster 1.30 com a versão 1.29.gkectl
As versões de patch não são importantes. Por exemplo, pode usar a versão 1.29.0-gke.1456 para atualizar um cluster com uma versão de patch superior, como 1.29.1000-gke.94.gkectl
A versão secundária
gkectl
não pode ser mais de duas versões secundárias superior à versão do cluster. Por exemplo, se estiver a atualizar um cluster 1.28, a versãogkectl
pode ser 1.29 ou 1.30. No entanto, não pode usar a versãogkectl
1.31 porque é três versões secundárias superior à versão do cluster.Se estiver a atualizar o cluster para um cluster avançado, a versão do
gkectl
tem de ser igual à versão do cluster.
Se necessário, consulte Transferir gkectl
para
obter uma versão suportada do gkectl
.
Os exemplos seguintes mostram como atualizar clusters.
gkectl
O comando gkectl update
tem um dos seguintes formatos:
gkectl update credentials
- Use esta opção para atualizar as credenciais do cluster.gkectl update admin
- Execute este comando depois de fazer uma alteração no ficheiro de configuração do cluster de administrador.gkectl update cluster
: execute este comando depois de fazer uma alteração no ficheiro de configuração do cluster de utilizadores.
Exemplo de cluster de administrador (gkectl update admin
)
Suponhamos que quer alterar o valor de
gkeOnPremAPI.enabled
de false
para true
num cluster de administrador. Primeiro, edite o ficheiro 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 admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
Substitua o seguinte:
ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador
ADMIN_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de administrador
Exemplo de cluster de utilizadores (gkectl update cluster
)
Suponhamos que quer alterar o valor de
stackdriver.vSphereDisableResourceMetrics
de false
para true
num cluster de utilizadores. Primeiro, edite o ficheiro de configuração do cluster de utilizadores e defina o valor como true
:
stackdriver: disableVsphereResourceMetrics: true
Em seguida, atualize o cluster de utilizadores:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Substitua o seguinte:
ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador
USER_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster do utilizador
Exemplo de cluster de utilizadores (gkectl update credentials
)
Suponhamos que quer alterar as credenciais que um cluster de utilizadores usa para chamar o servidor vCenter.
O ficheiro de configuração do cluster de utilizadores tem um campo vCenter.credentials.fileRef.path que aponta para um ficheiro de configuração de credenciais.
No ficheiro de configuração das credenciais, atualize os valores de username
e
password
. Por 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 o seguinte:
USER_CLUSTER_CONFIG: o caminho do ficheiro de configuração do cluster de utilizadores
ADMIN_CLUSTER_KUBECONFIG: o caminho do ficheiro kubeconfig do cluster de administrador
Consola
Na consola, aceda à página Vista geral dos clusters do Google Kubernetes Engine.
Selecione o Google Cloud projeto e, de seguida, selecione o cluster que quer atualizar.
No painel Detalhes, clique em Mais detalhes.
Os campos que podem ser atualizados na Google Cloud consola têm um ícone de lápis. Clique num dos ícones de lápis. Na caixa apresentada, altere os valores dos campos conforme pretendido e clique em CONCLUÍDO.
Na parte superior da página, na barra de progresso, clique em Mostrar detalhes. Aguarde pela conclusão da atualização.
CLI gcloud
Execute o comando de atualização aplicável. Especifique apenas as flags para a configuração que quer modificar:
Clusters de administrador:
gcloud container vmware admin-clusters update
Clusters de utilizadores:
gcloud container vmware clusters update
Node pools num cluster de utilizador:
gcloud container vmware node-pools update
Atualize os utilizadores administradores num cluster de utilizadores
O servidor da API Kubernetes de cada cluster tem de poder autorizar os pedidos que recebe. Para configurar a autorização, tem de configurar as políticas de controlo de acesso baseado em funções (CABF) do Kubernetes em cada cluster. Um utilizador administrador é um utilizador ao qual foi atribuída a função cluster-admin
no cluster de utilizadores. Esta função concede ao utilizador acesso administrativo total ao cluster.
Suponhamos que a Alice e o Bob são os únicos utilizadores administradores no cluster de utilizadores denominado cluster-1 na região us-west1. Suponhamos que a Alice quer adicionar o Tiago como utilizador administrador adicional. A 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 a Alice e o Bob na lista de utilizadores administradores
e adiciona o Trent à lista de utilizadores administradores. Tenha em atenção que Alice e Bob têm de ser apresentados no comando, porque o comando substitui a lista atual de utilizadores administradores pela lista especificada no comando. Tenha também em atenção que cada flag --admin-users
especifica apenas um utilizador. Não pode especificar vários utilizadores numa única flag.
Terraform
Altere os valores dos campos aplicáveis no ficheiro de configuração do Terraform que usou para criar o cluster ou o conjunto de nós. Para ver descrições detalhadas dos campos, consulte a documentação de referência do Terraform:
Atualize a configuração executando o comando
terraform apply
.
Atualize os utilizadores administradores num cluster de utilizadores
O servidor da API Kubernetes de cada cluster tem de poder autorizar os pedidos que recebe. Para configurar a autorização, tem de configurar as políticas de controlo de acesso baseado em funções (CABF) do Kubernetes em cada cluster. Um utilizador administrador é um utilizador ao qual foi atribuída a função cluster-admin
no cluster de utilizadores. Esta função concede ao utilizador acesso administrativo total ao cluster.
Suponhamos que a Alice e o Bob são os únicos utilizadores administradores num cluster de utilizadores específico. Suponhamos que a Alice quer adicionar o Tiago como utilizador administrador adicional. A Alice pode ajustar a configuração do Terraform da seguinte forma e, em seguida, executar terraform apply
:
authorization { admin_users { username = "alice@example.com" username = "bob@example.com" username = "trent@example.com" } }
O ajuste anterior mantém a Alice e o Bob na lista de utilizadores administradores e adiciona o Trent à lista de utilizadores administradores. Tenha em atenção que Alice e Bob têm de estar listados na nova configuração, porque o comando terraform apply
substitui a lista atual de utilizadores administradores pela lista especificada na configuração.
Mais informações
Os documentos indicados nesta secção fornecem detalhes adicionais sobre a atualização de clusters.
Atualizar cluster/administrador
Os documentos seguintes fornecem detalhes sobre a utilização do gkectl update admin
e do gkectl update cluster
para atualizar funcionalidades e definições:
Reparação automática de nós e verificação do estado de funcionamento
Migre um cluster de utilizadores para o plano de controlo V2
Atualize as credenciais
Os seguintes documentos fornecem detalhes sobre a utilização de gkectl update credentials
para atualizar chaves e certificados:
Fazer a rotação dos certificados da CA do cluster de administrador
Rotação das autoridades de certificação do cluster de utilizadores