Esta página explica como usar a consola Google Cloud ou a Google Cloud CLI para atualizar um cluster de utilizador ou de administrador do Google Distributed Cloud inscrito na API GKE On-Prem. Se criou o cluster de utilizadores com o Terraform, pode usar o Terraform para atualizar o cluster de utilizadores. Para ver os requisitos de atualização, as práticas recomendadas e informações adicionais sobre o processo de atualização, reveja os artigos Práticas recomendadas de atualização e Ciclo de vida e fases das atualizações de clusters antes de continuar.
O que é a API GKE On-Prem?
A API GKE On-Prem é uma API alojada na Google Cloud que lhe permite gerir o ciclo de vida dos seus clusters no local através do Terraform e deGoogle Cloud ferramentas padrão. A API GKE On-Prem é executada na infraestrutura da Google. Google CloudO Terraform, a Google Cloud consola e a CLI Google Cloud são
clientes da API e usam a API para criar, atualizar, fazer a atualização e
eliminar clusters no seu centro de dados. Se criou o cluster através de um cliente padrão, o cluster está inscrito na API GKE On-Prem, o que significa que pode usar os clientes padrão para gerir o ciclo de vida do cluster (com algumas exceções).
Se criou o cluster através do bmctl
, pode
inscrever o cluster na
API GKE On-Prem, que lhe permite usar os clientes padrão.
Antes de começar
Configure a CLI gcloud
Para usar a CLI gcloud ou o Terraform para atualizar um cluster:
Certifique-se de que tem a versão mais recente da CLI gcloud. Atualize os componentes da CLI gcloud, se necessário:
gcloud components update
Requisitos de IAM
Se não for proprietário do projeto, tem de lhe ser concedido o papel de gestão de identidade e acesso roles/gkeonprem.admin
no projeto em que o cluster foi criado. Google Cloud Para ver detalhes sobre as autorizações incluídas nesta função, consulte o artigo
Funções do GKE on-prem
na documentação da IAM.
Para usar a consola para atualizar o cluster, precisa, no mínimo, do seguinte:
roles/container.viewer
. Esta função permite que os utilizadores vejam a página Clusters do GKE e outros recursos de contentores na consola. Para ver detalhes sobre as autorizações incluídas nesta função ou para conceder uma função com autorizações de leitura/escrita, consulte as funções do Kubernetes Engine na documentação do IAM.roles/gkehub.viewer
. Esta função permite que os utilizadores vejam clusters na consola. Para ver detalhes sobre as autorizações incluídas nesta função ou para conceder uma função com autorizações de leitura/escrita, consulte as funções do GKE Hub na documentação do IAM.
Requisitos da versão
Demora cerca de 7 a 14 dias após o lançamento do Google Distributed Cloud para que a versão esteja disponível na API GKE On-Prem.
Pode atualizar diretamente para uma versão que esteja na mesma versão secundária ou na versão secundária seguinte. Por exemplo, pode atualizar de 1.33.100 para 1.33.200 ou de 1.32.100 para 1.33.200. Não é permitida a atualização para uma versão que seja mais de um lançamento secundário posterior à versão instalada.
Um cluster de administrador pode gerir clusters de utilizadores que estão na versão secundária igual ou anterior. Os clusters de utilizadores geridos não podem ter mais de uma versão secundária inferior à do cluster de administrador. Por isso, antes de atualizar um cluster de administrador para uma nova versão secundária, certifique-se de que todos os clusters de utilizadores geridos estão na mesma versão secundária que o cluster de administrador.
Atualize um 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.
Na secção Noções básicas do cluster, clique em
Atualizar.Na lista Escolher versão de destino, selecione a versão para a qual quer fazer a atualização. Recomendamos que atualize para a versão de patch mais recente.
Clique em Atualizar.
Antes de o cluster ser atualizado, são executadas verificações prévias para validar o estado do cluster e o estado de funcionamento dos nós. Se as verificações de pré-implementação forem aprovadas, o cluster de administrador é atualizado. A conclusão da atualização demora 30 minutos ou mais, consoante o tamanho do cluster.
Para ver o estado da atualização, clique em Mostrar detalhes no separador Detalhes do cluster.
CLI gcloud
Opcionalmente, liste todos os clusters de administrador inscritos no projeto para confirmar o nome e a região do cluster:
gcloud container bare-metal admin-clusters list \ --project=PROJECT_ID \ --location=-
Substitua
PROJECT_ID
pelo ID do projeto do anfitrião da frota no qual o cluster é membro. Se criou o cluster usandobmctl
, este é o ID do projeto no campogkeConnect.projectID
do ficheiro de configuração do cluster.Quando define
--location=-
, significa que quer listar todos os clusters em todas as regiões. Se precisar de restringir a lista, defina--location
para uma região específica.
Se receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto que introduziu. Se o ID do projeto estiver correto, executegcloud auth login
para iniciar sessão na CLI Google Cloud com a conta que tem acesso ao projeto.Obtenha uma lista das versões disponíveis para atualização:
gcloud container bare-metal admin-clusters query-version-config \ --admin-cluster=ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua o seguinte:
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador.PROJECT_ID
: o ID do projeto anfitrião da frota no qual o cluster é membro.REGION
: A Google Cloud região na qual a API GKE On-Prem é executada e armazena metadados de clusters.
Atualize o cluster de administrador:
gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Substitua
VERSION
pela versão do Google Distributed Cloud para a qual quer fazer a atualização. Especifique uma versão a partir do resultado do comando anterior. Recomendamos que atualize para a versão de patch mais recente.O resultado do comando é semelhante ao seguinte:
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 saber o estado da operação, copie o
OPERATION_ID
da saída para o seguinte comando. Abra outra janela de terminal e execute o comando.gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
A conclusão da atualização demora 30 minutos ou mais, consoante o tamanho do cluster. À medida que o cluster é atualizado, pode executar o comando anterior com alguma frequência para obter o estado atual.
Quando a atualização estiver concluída, vê algo semelhante ao seguinte na janela de terminal onde 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.33.0-gke.799 abm-admin-cluster RUNNING
Para mais informações sobre os campos e as flags, consulte a referência de admin-clusters bare-metal do gcloud container.
Atualize um cluster de utilizadores
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.
Na secção Noções básicas do cluster, clique em
Atualizar.Na lista Escolher versão de destino, selecione a versão para a qual quer fazer a atualização.
Clique em Atualizar.
Antes de o cluster ser atualizado, são executadas verificações prévias para validar o estado do cluster e o estado de funcionamento dos nós. Se as verificações pré-implementação forem aprovadas, o cluster de utilizadores é atualizado. A conclusão da atualização demora 30 minutos ou mais, consoante o tamanho do cluster.
Para ver o estado da atualização, clique em Mostrar detalhes no separador Detalhes do cluster.
CLI gcloud
Opcionalmente, liste todos os clusters de utilizadores inscritos no projeto para confirmar o nome e a região do cluster:
gcloud container bare-metal clusters list \ --project=PROJECT_ID \ --location=-
Substitua
PROJECT_ID
pelo ID do projeto do anfitrião da frota no qual o cluster é membro. Se criou o cluster usandobmctl
, este é o ID do projeto no campogkeConnect.projectID
do ficheiro de configuração do cluster.Quando define
--location=-
, significa que quer listar todos os clusters em todas as regiões. Se precisar de restringir a lista, defina--location
para uma região específica.
O resultado do comando é semelhante ao seguinte:
NAME LOCATION VERSION ADMIN_CLUSTER STATE abm-user-cluster us-central1 1.33.0-gke.799 abm-admin-cluster RUNNING
Se receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto que introduziu. Se o ID do projeto estiver correto, executegcloud auth login
para iniciar sessão na CLI Google Cloud com a conta que tem acesso ao projeto.Obtenha uma lista das versões disponíveis para atualização:
gcloud container bare-metal clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua o seguinte:
USER_CLUSTER_NAME
: o nome do cluster de utilizadores a atualizar.PROJECT_ID
: o ID do projeto anfitrião da frota no qual o cluster é membro.REGION
: A Google Cloud região na qual a API GKE On-Prem é executada e armazena metadados de clusters.
O resultado do comando é semelhante ao seguinte
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, a única versão disponível para a qual pode atualizar o cluster de utilizadores é1.14.6
.Atualize o cluster de utilizadores:
gcloud container bare-metal clusters update USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Substitua
VERSION
pela versão do Google Distributed Cloud para a qual quer fazer a atualização. Especifique uma versão a partir do resultado do comando anterior. Recomendamos que atualize para a versão de patch mais recente.O resultado do comando é semelhante ao seguinte:
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 saber o estado da operação, copie o
OPERATION_ID
da saída para o seguinte comando. Abra outra janela de terminal e execute o comando.gcloud container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=REGION
A conclusão da atualização demora 30 minutos ou mais, consoante o tamanho do cluster. À medida que o cluster é atualizado, pode executar o comando anterior com alguma frequência para obter o estado atual.
Para mais informações sobre os campos e as flags, consulte a referência de clusters bare-metal do gcloud container.
Terraform
Para atualizar um cluster com o Terraform, usa a mesma configuração do Terraform que usou para criar o cluster.
Altere para o diretório no qual o ficheiro de configuração do Terraform está localizado.
Obtenha uma lista das versões disponíveis para atualização:
gcloud container bare-metal clusters query-version-config \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
Substitua o seguinte:
USER_CLUSTER_NAME
: o nome do cluster de utilizadores a atualizar.PROJECT_ID
: o ID do projeto anfitrião da frota no qual esse cluster de utilizadores é membro.REGION
: A Google Cloud região na qual a API GKE On-Prem é executada e armazena os respetivos metadados.
Se receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto que introduziu. Se o ID do projeto estiver correto, executegcloud auth login
para iniciar sessão na CLI Google Cloud com a conta que tem acesso ao projeto.Na configuração do Terraform, altere
bare_metal_version
para a versão do Google Distributed Cloud para a qual quer fazer a atualização. Especifique uma versão a partir do resultado do comando anterior. Recomendamos que atualize para a versão de patch mais recente.Inicialize e crie o plano do Terraform:
terraform init
O Terraform instala todas as bibliotecas necessárias, como o Google Cloud fornecedor.
Reveja a configuração e faça alterações, se necessário:
terraform plan
Aplique o plano do Terraform para criar o cluster de utilizadores:
terraform apply
Para obter informações sobre o recurso google_gkeonprem_bare_metal_cluster
, consulte a
documentação de referência.