Configure um cluster para ser gerido pela API GKE On-Prem

A API GKE On-Prem é uma API alojada no Google Cloud que lhe permite gerir o ciclo de vida dos seus clusters no local através de ferramentas padrão: aGoogle Cloud consola, a Google Cloud CLI ou o Terraform. Quando cria um cluster através de uma destas ferramentas, a API armazena metadados sobre o estado do cluster na região que especificou quando o criou. Google Cloud Estes metadados permitem-lhe gerir o ciclo de vida do cluster através das ferramentas padrão. Se quiser usar estas ferramentas para ver detalhes do cluster ou gerir o ciclo de vida dos clusters criados com bmctl, tem de inscrever os clusters na API GKE On-Prem.

Terminologia

A inscrição de um cluster permite-lhe gerir o ciclo de vida do cluster através da consola, da CLI gcloud ou do Terraform.

A inscrição de um cluster é um processo separado do registo de um cluster numa frota. Uma frota é um agrupamento lógico de clusters do Kubernetes que pode gerir em conjunto. Todos os clusters do Google Distributed Cloud são registados numa frota no momento da criação do cluster. Quando cria um cluster com o bmctl, o cluster é registado no projeto que especifica no campo gkeConnect.projectID no ficheiro de configuração do cluster. Google Cloud Este projeto é denominado projeto anfitrião da frota. Para saber mais sobre frotas, incluindo exemplos de utilização, práticas recomendadas e exemplos, consulte a documentação de gestão de frotas.

Veja os clusters registados

Todos os seus clusters de frotas são apresentados nas páginas GKE Clusters na consola. Isto dá-lhe uma vista geral de toda a sua frota e, para o Google Distributed Cloud, permite-lhe ver que clusters são geridos pela API GKE On-Prem.

Para ver os clusters da frota:

  1. Na consola, aceda à página Clusters do GKE.
    Aceda aos clusters do GKE
  2. Selecione o Google Cloud projeto.
    • Se for apresentado Bare metal na coluna Tipo, o cluster é gerido pela API GKE On-Prem.
    • Se for apresentado Externo na coluna Tipo, o cluster não é gerido pela API GKE On-Prem.

Requisitos

  • Apenas os clusters de utilizadores e administradores podem ser inscritos na API GKE On-Prem. A inscrição de clusters híbridos e autónomos não é suportada.
  • Versão 1.13 ou superior.
  • A inscrição de clusters de utilizadores criados em espaços de nomes personalizados não é suportada. O ficheiro de configuração do cluster de utilizadores gerado usa o espaço de nomes do cluster predefinido no formato cluster-CLUSTER_NAME. Se alterar o espaço de nomes quando cria o cluster, as tentativas de inscrever o cluster com a API GKE On-Prem são bloqueadas.

  • Se não for proprietário do projeto, tem de ter, no mínimo, a função de Identity and Access Management roles/gkeonprem.admin no projeto. Para ver detalhes sobre as autorizações incluídas nesta função, consulte funções do GKE On-Prem na documentação do IAM.

Antes de começar

  1. Configure a CLI gcloud, se necessário.

    1. Se precisar de instalar a CLI gcloud, consulte a documentação da CLI gcloud. Se necessário, atualize os componentes da CLI gcloud:

      gcloud components update
      
  2. Siga estes passos para ativar e usar a API GKE On-Prem:

    1. Ative a API no seu projeto:

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

      Substitua PROJECT_ID pelo ID do projeto do projeto de anfitrião da sua frota. Este é o ID do projeto que foi configurado na secção gkeconnect do ficheiro de configuração do cluster.

      Se receber um erro PERMISSION_DENIED, verifique novamente o ID do projeto que introduziu. Se o ID do projeto estiver correto, execute gcloud auth login para iniciar sessão na CLI Google Cloud com a conta que tem acesso ao projeto.

    2. Se esta for a primeira vez que ativa a API GKE On-Prem no seu projeto, tem de inicializar a API. Pode fazê-lo chamando um comando da CLI gcloud que apresenta as versões disponíveis que pode usar para criar um cluster:

      gcloud container bare-metal clusters query-version-config \
          --project=PROJECT_ID \
          --location=REGION
      

      Substitua REGION por us-west1 ou outra região suportada.

  3. Se a sua organização tiver configurado uma lista de autorizações que permita a passagem de tráfego das APIs Google e de outros endereços através do seu servidor proxy, adicione o seguinte à lista de autorizações:

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

    Estes são os nomes dos serviços da API GKE On-Prem.

Inscreva um cluster de utilizadores

CLI gcloud

Certifique-se de que desloca a página, se necessário, para preencher o marcador de posição ADMIN_CLUSTER_NAME para a flag --admin-cluster-membership.

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

Substitua o seguinte:

  • USER_CLUSTER_NAME: o nome do cluster de utilizadores que quer inscrever.

  • PROJECT_ID O ID do projeto do seu projeto anfitrião da frota.

  • ADMIN_CLUSTER_NAME: o cluster de administrador que gere o cluster de utilizadores. O nome do cluster de administrador é o último segmento do nome do cluster totalmente especificado que identifica exclusivamente o cluster em Google Cloud.

  • REGION: A Google Cloud região na qual a API GKE On-Prem é executada e armazena metadados do cluster. Especifique us-west1 ou outra região suportada. Não é possível alterar a região após a inscrição do cluster.

bmctl

Siga os passos abaixo na estação de trabalho de administração.

  1. Adicione a secção seguinte ao ficheiro de configuração do cluster de utilizadores:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Substitua REGION pela região em que a API GKE On-Prem é executada e armazena metadados do cluster. Google Cloud Especifique us-west1 ou outra região suportada. Não é possível alterar a região após a inscrição do cluster.

  2. Atualize o cluster:

    bmctl update cluster -c USER_CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Substitua o seguinte:

    • USER_CLUSTER_NAME: o nome do cluster de utilizadores a atualizar.

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

Inscreva um cluster de administrador

CLI gcloud

Certifique-se de que desloca a página, se necessário, para preencher o marcador de posição ADMIN_CLUSTER_NAME para a flag --admin-cluster-membership.

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

Substitua o seguinte:

  • ADMIN_CLUSTER_NAME: o nome do cluster de administrador que quer inscrever.

  • PROJECT_ID O ID do projeto do seu projeto anfitrião da frota.

    Os campos ADMIN_CLUSTER_NAME e PROJECT_ID são usados para formar o nome do cluster totalmente especificado para a flag --admin-cluster-membership.

  • REGION: A Google Cloud região na qual a API GKE On-Prem é executada e armazena metadados do cluster. Especifique us-west1 ou outra região suportada. Não é possível alterar a região após a inscrição do cluster.

bmctl

Siga os passos abaixo na estação de trabalho de administração.

  1. Adicione a seguinte secção ao ficheiro de configuração do cluster de administrador:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Substitua REGION pela região em que a API GKE On-Prem é executada e armazena metadados do cluster. Google Cloud Especifique us-west1 ou outra região suportada. Não é possível alterar a região após a inscrição do cluster.

  2. Atualize o cluster:

    bmctl update cluster -c ADMIN_CLUSTER_NAME \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Substitua o seguinte:

    • ADMIN_CLUSTER_NAME: o nome do cluster de administrador a atualizar.

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

Obtenha informações sobre o seu cluster

Depois de inscrever o cluster, pode usar os seguintes comandos para obter informações sobre os seus clusters:

Cluster de utilizadores

  • Para descrever um cluster de utilizadores:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Para listar os seus clusters de utilizadores:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=-

Quando define --location=-, significa que quer listar todos os clusters em todas as regiões. Se precisar de reduzir o âmbito da lista, defina --location para a região que especificou quando inscreveu o cluster.

Cluster de administrador

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

Quando define --location=-, significa que quer listar todos os clusters em todas as regiões. Se precisar de reduzir o âmbito da lista, defina --location para a região que especificou quando inscreveu o cluster.

Estabeleça ligação ao cluster

Depois de o cluster ser inscrito na API GKE On-Prem, tem de escolher e configurar um método de autenticação para poder gerir o cluster a partir da Google Cloud consola. O método de autenticação que selecionar também controla o acesso ao cluster a partir da linha de comandos. Para mais informações, consulte o seguinte: