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 Google Cloud CLI 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 essas ferramentas para visualizar detalhes do cluster ou gerenciar o ciclo de vida dos clusters criados usando bmctl, será necessário registrar os clusters no Anthos On-Prem API.

Terminologia

O registro de um cluster permite gerenciar o ciclo de vida dele usando o console, a CLI 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 clusters do Anthos 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 de frota são exibidos nas páginas Clusters do Anthos e Clusters do GKE no console. Isso oferece uma visão geral de toda a frota e, para clusters do Anthos em bare metal, permite ver quais clusters são gerenciados pela API GKE On-Prem.

Para ver os clusters da frota:

  1. No console, acesse a página de clusters do Anthos.
    Acesse a página de clusters do Anthos
  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 Anthos

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 de usuário

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

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

    1. 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
      
  2. Ative a API Anthos On-Prem no projeto host da 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 beta 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

    gcloud beta 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 beta container bare-metal clusters describe USER_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • Para listar os clusters de usuário:
    gcloud beta container bare-metal clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    

    Cluster de administrador

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

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: