A API GKE On-Prem é uma API hospedada no Google Cloud que permite gerenciar o
ciclo de vida dos clusters no local 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 ver detalhes do cluster ou gerenciar
o ciclo de vida dos clusters que foram criados usando bmctl
, registre os clusters na API GKE On-Prem.
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 clusters do 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 fornece uma visão geral de toda a frota e, para o GKE em Bare Metal, permite ver quais clusters são gerenciados pela API GKE On-Prem.
Para ver os clusters da frota:
-
No console, acesse a página de clusters do GKE Enterprise.
Acesse a página de clusters do GKE Enterprise -
Selecione o projeto do Google Cloud.
- Se Bare metal for exibido na coluna Tipo, o cluster será gerenciado pela API GKE On-Prem.
- Se Externo aparecer na coluna Tipo, o cluster não será gerenciado pela API GKE On-Prem.
Requisitos
- Apenas clusters de usuário e administrador podem ser registrados na API GKE On-Prem. Não é possível registrar clusters híbridos e independentes.
Versão 1.13 ou mais recente.
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.
Antes de começar
Configure a CLI da gcloud, se necessário.
Se você precisar instalar a CLI da gcloud, consulte a documentação da CLI da gcloud. Atualize os componentes da gcloud CLI, se necessário:
gcloud components update
Verifique se a API GKE On-Prem está ativada no projeto. Para ativar a API, execute este comando:
gcloud services enable \ --project PROJECT_ID \ gkeonprem.googleapis.com
Substitua
PROJECT_ID
pelo ID do projeto host da frota. Esse é o ID do projeto que foi configurado na seçãogkeconnect
do arquivo de configuração do cluster.Se você receber um erro
PERMISSION_DENIED
, verifique novamente o ID do projeto inserido. Se o ID do projeto estiver correto, executegcloud auth login
para fazer login na Google Cloud CLI com a conta que tem acesso ao projeto.Se esta é a primeira vez que você ativa a API GKE On-Prem no seu projeto, talvez seja necessário inicializar a API. Para fazer isso, chame um comando da gcloud CLI que exibe as versões disponíveis que podem ser usadas para criar um cluster:
gcloud container bare-metal clusters query-version-config \ --project=PROJECT_ID \ --location=REGION
Substitua
REGION
porus-west1
ou outra região compatível.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
Estes são os nomes de serviço da API GKE On-Prem.
Registrar um cluster
Se o cluster estiver na versão 1.15.3 ou superior, será possível usar a ferramenta de linha de comando bmctl
para inscrever o cluster.
Registrar um cluster de usuário
CLI da gcloud
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=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \ --location=REGION
Substitua:
USER_CLUSTER_NAME
: o nome do cluster de usuário que você quer registrar.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.REGION
: a região do Google Cloud em que a API GKE On-Prem executa e armazena metadados de cluster. Especifiqueus-west1
ou outra região compatível. Após o registro do cluster, não é possível alterar a região.
bmctl
1.15.3+
Execute as etapas a seguir na estação de trabalho do administrador.
Adicione a seguinte seção ao arquivo de configuração do cluster de administrador:
gkeOnPremAPI: enabled:true location: REGION
Substitua
REGION
pela região do Google Cloud em que a API GKE On-Prem executa e armazena metadados de cluster. Especifiqueus-west1
ou outra região compatível. Após o registro do cluster, não é possível alterar a região.Atualize o cluster:
bmctl update cluster -c USER_CLUSTER_NAME \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Substitua:
USER_CLUSTER_NAME
: o nome do cluster de usuário a ser atualizado.ADMIN_CLUSTER_KUBECONFIG
: o caminho do arquivo kubeconfig do cluster de administrador
Registrar um cluster de administrador
CLI da gcloud
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=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \ --location=REGION
Substitua:
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador que você quer registrar.PROJECT_ID
O ID do projeto host da frota.O
ADMIN_CLUSTER_NAME
e oPROJECT_ID
são usados para formar o nome do cluster totalmente especificado para o flag--admin-cluster-membership
.REGION
: a região do Google Cloud em que a API GKE On-Prem executa e armazena metadados de cluster. Especifiqueus-west1
ou outra região compatível. Após o registro do cluster, não é possível alterar a região.
bmctl
1.15.3+
Execute as etapas a seguir na estação de trabalho do administrador.
Adicione a seguinte seção ao arquivo de configuração do cluster de administrador:
gkeOnPremAPI: enabled:true location: REGION
Substitua
REGION
pela região do Google Cloud em que a API GKE On-Prem executa e armazena metadados de cluster. Especifiqueus-west1
ou outra região compatível. Após o registro do cluster, não é possível alterar a região.Atualize o cluster:
bmctl update cluster -c ADMIN_CLUSTER_NAME \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Substitua:
ADMIN_CLUSTER_NAME
: o nome do cluster de administrador a ser atualizado.ADMIN_CLUSTER_KUBECONFIG
: o caminho do arquivo kubeconfig do cluster de administrador
Receber informações sobre o cluster
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=PROJECT_ID \ --location=REGION
- Para listar os clusters de usuário:
gcloud container bare-metal clusters list \ --project=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 registrar 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 clusters de administrador:
gcloud container bare-metal admin-clusters list \ --project=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 registrar o cluster.
Conectar ao cluster
Depois que o cluster for registrado na API GKE On-Prem, escolha e configure um método de autenticação para que seja possível 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: