Esta página explica como usar o console do Google Cloud ou a CLI do Google Cloud para fazer upgrade de um cluster de usuário ou administrador do Google Distributed Cloud que esteja API GKE On-Prem. Se você criou o cluster de usuário com o Terraform, é possível usar Terraform para fazer upgrade do cluster de usuário. Para requisitos de upgrade, práticas recomendadas e informações adicionais sobre o processo de upgrade, consulte Práticas recomendadas para upgrade e Ciclo de vida e etapas dos upgrades de cluster antes de continuar.
O que é a API GKE On-Prem?
A API GKE On-Prem é hospedada no Google Cloud e permite gerenciar o
ciclo de vida dos clusters locais usando o Terraform e ferramentas padrão
do Google Cloud. A API GKE On-Prem é executada no ambiente
infraestrutura. O Terraform, o console do Google Cloud e a Google Cloud CLI são
clientes da API e a usam para criar, atualizar, fazer upgrade e
excluir clusters no data center. Se você criou o cluster usando
um cliente padrão, o cluster estará registrado na API GKE On-Prem, o que
significa que é possível usar os clientes padrão para gerenciar o ciclo de vida do cluster
(com algumas exceções).
Se você criou o cluster usando bmctl
, é possível
registrar o cluster na
API GKE On-Prem, o que permite usar os clientes padrão.
Antes de começar
Configurar a CLI gcloud
Para usar a CLI gcloud ou o Terraform a fim de fazer upgrade de um cluster:
Verifique se você tem a versão mais recente da CLI gcloud. Atualize os componentes da CLI gcloud, se necessário:
gcloud components update
Requisitos do IAM
Se você não for um proprietário do projeto, precisará receber o papel do Identity and Access Management
roles/gkeonprem.admin
no projeto do Google Cloud em que o cluster
foi criado. Para ver detalhes sobre as permissões incluídas nesse papel, consulte
Papéis do GKE On-Prem
na documentação do IAM.
Para usar o console para fazer upgrade do cluster, você precisa, no mínimo, do seguinte:
roles/container.viewer
Com esse papel, os usuários podem ver a página de clusters do GKE e outros recursos do contêiner no console. Para ver detalhes sobre as permissões incluídas nesse papel ou conceder um papel com permissões de leitura/gravação, consulte Papéis do Kubernetes Engine na documentação do IAM.roles/gkehub.viewer
Esse papel permite que os usuários vejam clusters no console. Para ver detalhes sobre as permissões incluídas nesse papel ou conceder um papel com permissões de leitura/gravação, consulte Papéis do GKE Hub na documentação do IAM.
Requisitos da versão
São necessários de 7 a 10 dias após o lançamento do Google Distributed Cloud para o seja disponibilizada na API GKE On-Prem.
É possível fazer upgrade diretamente para qualquer versão que esteja na mesma versão secundária ou na versão secundária seguinte. Por exemplo, é possível fazer upgrade da versão 1.29.100 para 1.29.200, ou de 1.28.100 para 1.29.200. Não é permitido fazer upgrade para uma versão posterior à versão secundária mais recente.
Um cluster de administrador pode gerenciar clusters de usuário que estão em uma versão secundária igual ou anterior. Os clusters de usuário gerenciados não podem ser mais que uma versão secundária anterior ao cluster de administrador. Portanto, antes de fazer upgrade de um cluster de administrador para uma nova versão secundária, verifique se todos os clusters de usuário gerenciados estão na mesma versão secundária que o cluster de administrador.
Fazer upgrade de um cluster de administrador
Console
No console, acesse a página Visão geral dos clusters do Google Kubernetes Engine.
Selecione o projeto do Cloud e, em seguida, o cluster que você quer atualizar.
No painel Detalhes, clique em Mais detalhes.
Na seção Princípios básicos do cluster, clique em
Fazer upgrade.Na lista Escolher versão de destino, selecione para qual versão quer fazer upgrade. Recomendamos que você faça upgrade para a versão mais recente do patch.
Clique em Fazer upgrade.
Antes do upgrade do cluster, as verificações de simulação são executadas para validar o status do cluster e a integridade do nó. Se as verificações de simulação forem aprovadas, o cluster de administradores será atualizado. O upgrade leva 30 minutos ou mais para ser concluído, dependendo do tamanho do cluster.
Para ver o status do upgrade, clique em Mostrar detalhes na guia Detalhes do cluster.
CLI da gcloud
Se quiser, liste todos os clusters de administrador registrados no projeto para confirmar nome do cluster e região:
gcloud container bare-metal admin-clusters list \ --project=PROJECT_ID \ --location=-
Substitua
PROJECT_ID
pelo ID do host da frota. projeto em que o cluster é membro. Se você criou o cluster usandobmctl
, esse é o ID do projeto no campogkeConnect.projectID
no arquivo de configuração do cluster.Definir
--location=-
significa listar todos os clusters em todas as regiões. Se você precisar reduzir o escopo da lista, defina--location
como uma região específica:
Se você receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto inserido. Se o ID do projeto estiver correto, executegcloud auth login
para fazer login na Google Cloud CLI com a conta que tem acesso ao projeto.Veja uma lista das versões disponíveis para upgrade:
gcloud container bare-metal admin-clusters query-version-config \ --admin-cluster=ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua:
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador.PROJECT_ID
: o ID do projeto host da frota de que o cluster é membro.REGION
: a região do Google Cloud em que a API GKE On-Prem é executada e armazena os metadados.
Fazer upgrade do cluster de administrador
gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Substitua
VERSION
pelo atributo "Google Distributed Cloud" para a qual você quer fazer upgrade. Especifique uma versão na saída do comando anterior. Recomendamos que você faça upgrade para a versão mais recente do patch.A saída deste comando terá esta aparência:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
No exemplo de saída, a string
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
é oOPERATION_ID
da operação de longa duração.Para descobrir o status da operação, copie
OPERATION_ID
da saída para o comando a seguir. Abra outra janela de terminal e execute o comando.gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
O upgrade leva 30 minutos ou mais para ser concluído, dependendo do tamanho do cluster. À medida que ocorre um upgrade do cluster, é possível executar o comando anterior de vez em quando para ver o status atual.
Quando o upgrade for concluído, você verá algo semelhante à mensagem a seguir no
a janela do terminal em que você executou o comando gcloud ... update
:
Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster]. NAME LOCATION VERSION MEMBERSHIP STATE abm-admin-cluster us-central1 1.29.400-gke.86 abm-admin-cluster RUNNING
Para mais informações sobre campos e sinalizações, consulte Referência da gcloud container bare-metal admin-clusters.
Fazer upgrade de um cluster de usuários
Console
No console, acesse a página Visão geral dos clusters do Google Kubernetes Engine.
Selecione o projeto do Cloud e, em seguida, o cluster que você quer atualizar.
No painel Detalhes, clique em Mais detalhes.
Na seção Princípios básicos do cluster, clique em
Fazer upgrade.Na lista Escolher versão de destino, selecione para qual versão quer fazer upgrade.
Clique em Fazer upgrade.
Antes do upgrade do cluster, as verificações de simulação são executadas para validar o status do cluster e a integridade do nó. Se as verificações de simulação forem aprovadas, o cluster de usuário será atualizado. O upgrade leva 30 minutos ou mais para ser concluído, dependendo do tamanho do cluster.
Para ver o status do upgrade, clique em Mostrar detalhes na guia Detalhes do cluster.
CLI da gcloud
Se quiser, liste todos os clusters de usuário registrados no projeto para confirmar o nome do cluster e a região:
gcloud container bare-metal clusters list \ --project=PROJECT_ID \ --location=-
Substitua
PROJECT_ID
pelo ID do host da frota. projeto em que o cluster é membro. Se você criou o cluster usandobmctl
, esse é o ID do projeto no campogkeConnect.projectID
no arquivo de configuração do cluster.Definir
--location=-
significa listar todos os clusters em todas as regiões. Se você precisar reduzir o escopo da lista, defina--location
como uma região específica:
A saída deste comando é semelhante a:
NAME LOCATION VERSION ADMIN_CLUSTER STATE abm-user-cluster us-central1 1.29.400-gke.86 abm-admin-cluster RUNNING
Se você receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto inserido. Se o ID do projeto estiver correto, executegcloud auth login
para fazer login na Google Cloud CLI com a conta que tem acesso ao projeto.Veja uma lista das versões disponíveis para upgrade:
gcloud container bare-metal clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua:
USER_CLUSTER_NAME
: o nome do cluster de usuário que será atualizado.PROJECT_ID
: o ID do projeto host da frota de que o cluster é membro.REGION
: a região do Google Cloud em que a API GKE On-Prem é executada e armazena os metadados.
A saída deste comando é semelhante a:
versions: - hasDependencies: true version: 1.15.2 - hasDependencies: true version: 1.15.1 - hasDependencies: true version: 1.15.0 - version: 1.14.6
Escolha uma versão que não esteja listada em
- hasDependencies: true
. Neste exemplo, é possível fazer upgrade da única versão disponível cluster de usuário é1.14.6
.Faça upgrade do cluster de usuário:
gcloud container bare-metal clusters update USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Substitua
VERSION
pelo atributo "Google Distributed Cloud" para a qual você quer fazer upgrade. Especifique uma versão na saída do comando anterior. Recomendamos que você faça upgrade para a versão mais recente do patch.A saída deste comando terá esta aparência:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
No exemplo de saída, a string
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
é oOPERATION_ID
da operação de longa duração.Para descobrir o status da operação, copie
OPERATION_ID
da saída para o comando a seguir. Abra outra janela de terminal e execute o comando.gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
O upgrade leva 30 minutos ou mais para ser concluído, dependendo do tamanho do cluster. À medida que ocorre um upgrade do cluster, é possível executar o comando anterior de vez em quando para ver o status atual.
Para mais informações sobre campos e sinalizações, consulte Referência de clusters bare-metal da gcloud container.
Terraform
Para fazer upgrade de um cluster com o Terraform, use a mesma configuração do Terraform que você usou para criar o cluster.
Mude para o diretório em que o arquivo de configuração do Terraform está localizado.
Veja uma lista das versões disponíveis para upgrade:
gcloud container bare-metal clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua:
USER_CLUSTER_NAME
: o nome do cluster de usuário que será atualizado.PROJECT_ID
: o ID do projeto host da frota em que o cluster de usuário é membro.REGION
: a região do Google Cloud em que a API GKE On-Prem é executada e armazena os metadados.
Se você receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto inserido. Se o ID do projeto estiver correto, executegcloud auth login
para fazer login na Google Cloud CLI com a conta que tem acesso ao projeto.Na configuração do Terraform, altere
bare_metal_version
para o Versão do Google Distributed Cloud para a qual você quer fazer upgrade. Especifique uma versão na saída do comando anterior. Recomendamos que você faça upgrade para a versão mais recente do patch.Inicialize e crie o plano do Terraform:
terraform init
O Terraform instala todas as bibliotecas necessárias, como o provedor do Google Cloud.
Revise a configuração e faça alterações, se necessário:
terraform plan
Aplique o plano do Terraform para criar o cluster de usuário:
terraform apply
Para informações sobre o recurso google_gkeonprem_bare_metal_cluster
, consulte a
documentação de referência.