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 gkectl, 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 gkectl, 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 VMware for apresentado na coluna Tipo, o cluster é gerido pela GKE On-Prem API.
    • Se for apresentado Externo na coluna Tipo, o cluster não é gerido pela API GKE On-Prem.

Requisitos

  • Os clusters de utilizadores têm de ter a versão 1.11 ou superior.
  • Os clusters de administrador têm de ter a versão 1.13 ou superior.

  • 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.

    2. 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 de administrador ou do ficheiro de configuração do cluster de utilizador.

      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 vmware 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 permite 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 vmware 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.

gkectl

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:

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG_FILE
    

    Substitua o seguinte:

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

    • USER_CLUSTER_CONFIG_FILE: o caminho do ficheiro de configuração do cluster do utilizador.

Inscreva um cluster de administrador

CLI gcloud

gcloud container vmware 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 região na qual a API GKE On-Prem é executada e armazena metadados do cluster. Google Cloud Especifique us-west1 ou outra região suportada. Recomendamos que use a mesma região configurada em stackdriver.clusterLocation. Não é possível alterar a região após a inscrição do cluster.

gkectl

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. Recomendamos que use a mesma região configurada em stackdriver.clusterLocation. Não é possível alterar a região depois de inscrever o cluster.

  2. Atualize o cluster:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG_FILE
    

    Substitua o seguinte:

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

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

Obtenha informações sobre o seu cluster

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

Cluster de utilizadores

  • Para descrever um cluster de utilizadores:
gcloud container vmware clusters describe USER_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=REGION
  • Para listar os seus clusters de utilizadores:
gcloud container vmware 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 vmware admin-clusters describe ADMIN_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=REGION
  • Para listar os seus clusters de administrador:
gcloud container vmware 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: