Criar um cluster de usuário usando clientes da API Anthos On-Prem

Nesta página, explicamos como usar o console do Google Cloud ou a Google Cloud CLI para fazer upgrade de um cluster de usuário dos clusters do Anthos no VMware gerenciado pela API Anthos On-Prem. Antes de fazer upgrade de um cluster de usuário, consulte as Práticas recomendadas de upgrade.

O que é a API Anthos On-Prem?

A API Anthos 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 Anthos On-Prem é executada na infraestrutura do Google Cloud. 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 Anthos 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 gkectl, é possível registrar o cluster na API Anthos 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:

  1. Verifique se você tem a versão mais recente da CLI gcloud, incluindo os componentes beta da CLI gcloud.

    Se você ainda não tiver os componentes beta, execute o seguinte comando para instalá-los:

    gcloud components install beta
    
  2. 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.

Opções de upgrade

Se você tiver um cluster de administrador 1.13, terá as seguintes opções para fazer upgrade de clusters de usuário gerenciados pela API Anthos On-Prem:

  • Se o cluster de administrador estiver na versão 1.13.1+ ou posterior, será possível usar o recurso de upgrade descrito na seção a seguir. Esse procedimento de upgrade está em Visualização. Recomendamos que você não use esse recurso para fazer upgrade de clusters em um ambiente de produção.

  • Se o cluster de administrador estiver na versão 1.13.0 ou anterior ou para ambientes de produção, consulte Como fazer upgrade de clusters do Anthos no VMware.

Implantar o controlador da plataforma de upgrade

Antes de fazer upgrade de um cluster de usuário usando o console ou a CLI gcloud, implante o controlador da plataforma de upgrade no cluster de administrador.

  1. Se você não tiver certeza se o controlador foi implantado, execute o seguinte comando na estação de trabalho do administrador:

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    Substitua:

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

    Se o controlador tiver sido implantado, a linha a seguir estará na seção annotations da saída YAML:

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled
    

    Se você não encontrar essa anotação, execute o comando na próxima etapa.

  2. Execute o seguinte comando na estação de trabalho do administrador para implantar o controlador da plataforma de upgrade:

    gkectl update admin --enable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    

    Substitua:

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

    • ADMIN_CLUSTER_CONFIG_FILE: o caminho do arquivo de configuração do cluster de administrador.

    • Opcional: a sinalização --yes responde automaticamente a um yes para continuar a implantação.

    Esse comando implanta um controlador no cluster de administrador que permite usar os clientes da API Anthos On-Prem para fazer upgrade dos clusters de usuários. Durante o upgrade do cluster de usuário, o cluster de administrador será registrado na API Anthos On-Prem se ainda não estiver registrado, o que elimina a necessidade de executar qualquer comando. na estação de trabalho do administrador para fazer upgrade dos clusters de usuários. Quando você inicia um upgrade do cluster de usuário, a API Anthos On-Prem aciona o controlador para se preparar para o upgrade. O controlador faz o download e instala pacotes e implanta a nova versão dos componentes que gerenciam o cluster de usuário.

    O comando leva cerca de 25 minutos (ou mais, dependendo da rede) para ser concluído.

Fazer upgrade de um cluster de usuários

Depois que o controlador da plataforma de upgrade for implantado no cluster de administrador, será possível fazer upgrade de um ou mais clusters de usuário gerenciados pelo cluster de administrador.

Para fazer upgrade de um cluster de usuário, faça o seguinte:

Console

  1. No console, acesse a página de clusters do Anthos.

    Acesse a página de clusters do Anthos

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

  3. No painel Detalhes, clique em Mais detalhes.

  4. Na seção Princípios básicos do cluster, clique em Fazer upgrade.

  5. Na caixa de diálogo Ativar upgrades simplificados, leia o texto das duas caixas de seleção, selecione-as e clique em Continuar.

  6. Na lista Escolher versão de destino, selecione para qual versão quer fazer upgrade. A lista selecionada inclui apenas as versões de patch mais recentes.

  7. 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. A atualização leva cerca de 30 minutos.

Para ver o status do upgrade, clique em Mostrar detalhes na guia Detalhes do cluster.

CLI da gcloud

  1. Execute este comando para fazer login com sua Conta do Google:

    gcloud auth login
    
  2. Atualize os componentes da CLI do Google Cloud:

    gcloud components update
    
  3. Veja uma lista das versões disponíveis para upgrade:

    gcloud beta container vmware clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

    Substitua:

    • USER_CLUSTER_NAME: o nome do cluster do usuário.

    • FLEET_HOST_PROJECT_ID: o ID do projeto da frota em que o cluster de usuário é membro. Esse é o projeto especificado quando o cluster foi criado. Se você criou o cluster usando gkectl, esse é o ID do projeto no campo gkeConnect.projectID no arquivo de configuração do cluster.

    • REGION: a região do Google Cloud em que a API Anthos On-Prem é executada e armazena os metadados. Se você criou o cluster usando um cliente da API Anthos On-Prem, essa é a região especificada ao criar o cluster. Se você criou o cluster usando gkectl, essa é a região especificada quando você registrou o cluster para gerenciamento com a API Anthos On-Prem.

  4. Use o comando a seguir para fazer upgrade de um cluster:

    gcloud beta container vmware clusters upgrade USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Substitua:

    • USER_CLUSTER_NAME: o nome do cluster de usuário que será atualizado.

    • FLEET_HOST_PROJECT_ID: o ID do projeto da frota em que o cluster de usuário é membro. Esse é o projeto especificado quando o cluster foi criado. Se você criou o cluster usando gkectl, esse é o ID do projeto no campo gkeConnect.projectID no arquivo de configuração do cluster.

    • REGION: a região do Google Cloud em que a API Anthos On-Prem é executada e armazena os metadados. Se você criou o cluster usando um cliente da API Anthos On-Prem, essa é a região selecionada ao criar o cluster. Se você criou o cluster usando gkectl, essa é a região especificada quando você registrou o cluster para gerenciamento com a API Anthos On-Prem.

    • VERSION: os clusters do Anthos no VMware em que 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 atualização leva cerca de 30 minutos.

  5. Durante o upgrade do cluster, execute o seguinte comando em outra janela de terminal para verificar o status dele:

    gcloud beta container vmware clusters describe USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

Para mais informações sobre os campos e sinalizações, consulte o upgrade dos clusters no VMware do contêiner Beta do gcloud.

Desativar o controlador da plataforma de upgrade

  1. Execute o seguinte comando na estação de trabalho do administrador:

    gkectl update admin --disable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    
  2. Para confirmar se o controlador foi desativado, execute o seguinte comando:

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    Se o controlador foi desativado, a linha a seguir não está na seção annotations da saída YAML:

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled