Os clusters do Anthos em clusters de usuários do VMware (GKE On-Prem) criados usando gkectl
não estão
configurados para funcionar com a API GKE On-Prem, que é a
API hospedada pelo Google Cloud ativada automaticamente quando você cria clusters
de usuário no Console do Google Cloud. Para usar o console para gerenciar o
ciclo de vida dos clusters de usuário que foram criados com gkectl
,
configure o cluster usando o comando gkectl enroll cluster
.
Requisitos
O cluster de usuário precisa atender aos seguintes requisitos:
- Versão 1.11 ou mais recente.
- Estar registrado com uma frota, o que é feito automaticamente quando o cluster é criado a partir da versão 1.8.
Se a organização tiver configurado uma lista de permissões que permita o tráfego do Google APIs e de outros endereços pelo servidor proxy, adicione o seguinte à lista de permissões:
- gkeonprem.googleapis.com
- gkeonprem.mtls.googleapis.com
Registrar um cluster de usuário
Execute as etapas a seguir na estação de trabalho do administrador.
Faça login com sua Conta do Google:
gcloud auth login --no-browser
Crie uma conta de serviço para autorizar
gkectl
a registrar o cluster:gcloud iam service-accounts create SA_NAME \ --project SA_PROJECT_ID
Substitua:
- SA_NAME pelo nome que você quer dar à
conta de serviço. É possível usar um nome que descreva o
propósito da conta de serviço, como
enrollment-sa
. - SA_PROJECT_ID é o ID do projeto pai da conta de serviço. O projeto em que você cria a conta de serviço pode ser o mesmo ou um projeto diferente em que a conta de serviço é usada.
- SA_NAME pelo nome que você quer dar à
conta de serviço. É possível usar um nome que descreva o
propósito da conta de serviço, como
Criar uma chave JSON para a conta de serviço:
gcloud iam service-accounts keys create SA_NAME-key.json \ --iam-account=SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com
Ative a API GKE On-Prem no projeto host da frota:
gcloud services enable \ --project FLEET_PROJECT_ID \ gkeonprem.googleapis.com
FLEET_PROJECT_ID pelo ID do projeto host da frota. Precisa ser o mesmo projeto do Cloud em que os clusters de administrador e de usuário estão registrados, especificados no campo gkeConnect.projectID no arquivo de configuração do cluster.
Atribua o papel
gkeonprem.admin
à conta de usuário:gcloud projects add-iam-policy-binding FLEET_PROJECT_ID \ --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/gkeonprem.admin"
Configure as credenciais padrão do aplicativo para usar a conta de serviço. Isso garante que a CLI gcloud use a conta de serviço criada anteriormente.
export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SA_KEY/SA_NAME-key.json
Execute o comando
gkectl enroll cluster
. Substitua:- CLUSTER_NAME com o nome do cluster do usuário.
- ADMIN_CLUSTER_KUBECONFIG é o caminho do arquivo
kubeconfig
do cluster de administrador.
gkectl enroll cluster --cluster-name=CLUSTER_NAME \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Se você tiver mais de um cluster de usuário em um projeto que queira inscrever, use a mesma conta de serviço e chave e execute
gkectl enroll cluster
para cada cluster.