Configurar um cluster a ser gerenciado pela API Anthos On-Prem

A API Anthos On-Prem é uma API hospedada no Google Cloud que permite gerenciar o ciclo de vida dos clusters locais usando ferramentas padrão: o Console do Google Cloud, a CLI do Google Cloud ou o Terraform. Quando você cria um cluster usando uma dessas ferramentas, a API armazena metadados sobre o estado do cluster na região do Google Cloud especificada na criação. Esses metadados permitem gerenciar o ciclo de vida do cluster usando as ferramentas padrão. Se você quiser usar esses clientes para visualizar detalhes do cluster ou gerenciar o ciclo de vida dos clusters criados usando bmctl, será necessário registrar os clusters com o Anthos On-Prem API.

Terminologia

A inscrição de um cluster permite gerenciar o ciclo de vida dele usando o console, a CLI da gcloud ou o Terraform.

O registro de um cluster é um processo separado que o registra para uma frota. Uma frota é um agrupamento lógico de clusters do Kubernetes que podem ser gerenciados juntos. Todos os GKE em Bare Metal são registrados em uma frota no momento da criação do cluster. Ao criar um cluster usando o bmctl, o cluster é registrado no projeto do Google Cloud especificado no campo gkeConnect.projectID do arquivo de configuração do cluster. Esse projeto é chamado de projeto host da frota. Para saber mais sobre frotas, incluindo casos de uso, práticas recomendadas e exemplos, consulte a documentação Gerenciamento de frotas.

Ver clusters registrados

Todos os clusters da frota são exibidos nas páginas Clusters do GKE Enterprise e Clusters do GKE no console. Isso oferece uma visão geral de toda a frota e, para clusters do GKE em bare metal, permite conferir quais clusters são gerenciados pela API Anthos On-Prem.

Para ver os clusters da frota:

  1. No console, acesse a página de clusters do GKE Enterprise.
    Acesse a página de clusters do GKE Enterprise
  2. Selecione o projeto do Google Cloud.
    • Se Anthos bare metal for exibido na coluna Tipo, o cluster será gerenciado pela API GKE On-Prem.
    • Se Externo for exibido na coluna Tipo, o cluster não vai ser gerenciado pela API Anthos On-Prem.
Lista de clusters do GKE Enterprise

Requisitos

  • Somente clusters de usuário e administrador podem ser inscritos com a API Anthos On-Prem. Não é possível registrar clusters híbridos e independentes.
  • Versão 1.13 ou mais recente.
  • Se a organização tiver configurado uma lista de permissões que permita o tráfego de APIs do Google e de outros endereços pelo servidor proxy, adicione o seguinte à lista de permissões:

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

    Esses são os nomes de serviço da API Anthos On-Prem.

  • Se você não for proprietário de um projeto, precisa receber, no mínimo, o papel roles/gkeonprem.admin do Identity and Access Management. Para ver detalhes sobre as permissões incluídas nesse papel, consulte Papéis do GKE On-Prem na documentação do IAM.

Registrar um cluster

Para registrar um cluster para gerenciamento pela API Anthos On-Prem:

  1. Verifique se você tem a versão mais recente da CLI gcloud. Atualize os componentes da CLI gcloud, se necessário:

    gcloud components update
    
  2. Ative a API Anthos On-Prem no seu projeto host de frota:

    gcloud services enable \
        --project FLEET_HOST_PROJECT_ID \
        gkeonprem.googleapis.com
    

    Substitua FLEET_HOST_PROJECT_ID pelo ID do projeto host da frota. Esse é o ID do projeto que foi configurado na seção gkeconnect do arquivo de configuração do cluster.

  3. Registre o cluster com a API Anthos On-Prem:

    Cluster de usuário

    Role a tela para cima, se necessário, para preencher o marcador ADMIN_CLUSTER_NAME para a flag --admin-cluster-membership.

    gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
      --project=FLEET_HOST_PROJECT_ID \
      --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
      --location=LOCATION
    

    Substitua:

    • USER_CLUSTER_NAME: o nome do cluster de usuário que você quer registrar.

    • FLEET_HOST_PROJECT_ID O ID do projeto host da frota.

    • ADMIN_CLUSTER_NAME: o cluster de administrador que gerencia o cluster de usuário. O nome do cluster de administrador é o último segmento do nome totalmente especificado que identifica o cluster no Google Cloud.

    • LOCATION: a região do Google Cloud em que a API Anthos On-Prem é executada. Especifique us-west1 ou outra região compatível. Após o registro do cluster, não é possível alterar a região. Além de definir a região em que a API Anthos On-Prem é executada, esta é a região em que o seguinte é armazenado:

      • Os metadados do cluster de usuário de que a API Anthos On-Prem precisa para gerenciar o ciclo de vida do cluster
      • Os dados do Cloud Logging e do Cloud Monitoring dos componentes do sistema
      • O registro de auditoria do administrador criado pelos registros de auditoria do Cloud

    Cluster de administrador

    Role a tela para cima, se necessário, para preencher o marcador ADMIN_CLUSTER_NAME para a flag --admin-cluster-membership.

    gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
      --location=LOCATION
    

    Substitua:

    • ADMIN_CLUSTER_NAME: o nome do cluster de administrador que você quer registrar.

    • FLEET_HOST_PROJECT_ID O ID do projeto host da frota.

      O ADMIN_CLUSTER_NAME e o FLEET_HOST_PROJECT_ID são usados para formar o nome do cluster totalmente especificado para o flag --admin-cluster-membership.

    • LOCATION: a região do Google Cloud em que a API Anthos On-Prem é executada. Especifique us-west1 ou outra região compatível. Após o registro do cluster, não é possível alterar a região. Além de definir a região em que a API Anthos On-Prem é executada, esta é a região em que o seguinte é armazenado:

      • Os metadados do cluster de usuário de que a API Anthos On-Prem precisa para gerenciar o ciclo de vida do cluster
      • Os dados do Cloud Logging e do Cloud Monitoring dos componentes do sistema
      • O registro de auditoria do administrador criado pelos registros de auditoria do Cloud
  4. Depois que o cluster for registrado, será possível usar os seguintes comandos para receber informações sobre os clusters:

    Cluster de usuário

    • Para descrever um cluster de usuário:
    gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • Para listar os clusters de usuário:
    gcloud container bare-metal clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=-
    

    Definir --location=- significa listar todos os clusters em todas as regiões. Se você precisar reduzir o escopo da lista, defina --location como a região especificada ao inscrever o cluster.

    Cluster de administrador

    • Para descrever um cluster de administrador:
    gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • Para listar os clusters de administrador:
    gcloud container bare-metal admin-clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=-
    

    Definir --location=- significa listar todos os clusters em todas as regiões. Se você precisar reduzir o escopo da lista, defina --location como a região especificada ao inscrever o cluster.

Conexão ao cluster

Depois que o cluster for registrado com a API Anthos On-Prem, você precisará escolher e configurar um método de autenticação para gerenciar o cluster no console do Google Cloud. O método de autenticação selecionado também controla o acesso ao cluster pela linha de comando. Para ver mais informações, consulte os seguintes tópicos: