Como criar contas de serviço e chaves

Nesta página, mostramos como criar as contas de serviço e as chaves do Google Cloud necessárias para instalar o GKE On-Prem.

SSH na estação de trabalho de administrador

Implemente SSH na estação de trabalho de administrador:

ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]

[IP_ADDRESS] é o endereço IP da sua estação de trabalho de administrador.

Siga todas as etapas restantes neste tópico na sua estação de trabalho de administrador.

Como fazer login

Faça login no Google Cloud usando as credenciais da sua conta:

gcloud auth login

Visão geral de contas de serviço

Antes de instalar o GKE On-Prem, é preciso criar quatro contas de serviço no projeto do Google Cloud. Também é necessário criar uma chave JSON para cada conta de serviço. Estas são as contas de serviço necessárias:

  • Conta de serviço permitida na lista
  • Conectar conta de serviço
  • Registrar conta de serviço
  • Conta de serviço do pacote de operações do Google Cloud

Listar suas contas de serviço:

gcloud iam service-accounts list

A saída mostra os endereços de e-mail das suas contas de serviço:

whitelisted-service-account@my-gcp-project.iam.gserviceaccount.com
some-other-service-account@my-gcp-project.iam.gserviceaccount.com
...

Anote o endereço de e-mail de cada conta.

Conta de serviço permitida na lista

Você já tem uma conta de serviço permitida na lista.

Crie uma chave para a conta de serviço permitida na lista:

gcloud iam service-accounts keys create whitelisted-key.json \
   --iam-account [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL]

em que [ALLOWLISTED_SERVICE_ACCOUNT_EMAIL] é o endereço de e-mail da sua conta de serviço permitida na lista.

Conectar conta de serviço

O Connect usa essa conta de serviço para manter uma conexão entre o GKE On-Prem e o Google Cloud.

Criar sua conta de serviço do Connect:

gcloud iam service-accounts create connect-service-account

Criar uma chave para sua conta de serviço do Connect:

gcloud iam service-accounts keys create connect-key.json \
   --iam-account [Connect_SERVICE_ACCOUNT_EMAIL]

em que [Connect_SERVICE_ACCOUNT_EMAIL] é o endereço de e-mail da sua conta de serviço do Connect.

Registrar conta de serviço

O Connect usa essa conta de serviço para registrar seus clusters do GKE On-Prem no Console do Google Cloud.

Criar sua conta de serviço de registro:

gcloud iam service-accounts create register-service-account

Criar uma chave para sua conta de serviço de registro:

gcloud iam service-accounts keys create register-key.json \
   --iam-account [REGISTER_SERVICE_ACCOUNT_EMAIL]

em que [REGISTER_SERVICE_ACCOUNT_EMAIL] é o endereço de e-mail da sua conta de serviço do registro.

Conta de serviço do pacote de operações do Google Cloud

O Connect usa essa conta de serviço para exportar os registros de clusters para o Stackdriver por meio do projeto do GCP.

Criar a conta de serviço do pacote de operações do Google Cloud:

gcloud iam service-accounts create stackdriver-service-account

Criar uma chave para a conta de serviço do pacote de operações do Google Cloud:

gcloud iam service-accounts keys create stackdriver-key.json \
   --iam-account [Google Cloud's operations suite_SERVICE_ACCOUNT_EMAIL]

em que [Google Cloud's operations suite_SERVICE_ACCOUNT_EMAIL] é o endereço de e-mail da sua conta de serviço do pacote de operações do Google Cloud.

No momento, você criou quatro contas de serviço no seu projeto do Google Cloud e tem uma chave JSON para cada conta de serviço na estação de trabalho de administrador.

Como atribuir papéis de gerenciamento de identidade e acesso às contas de serviço

Cada uma das suas contas de serviço precisa ter determinados papéis do IAM. É recomendável conceder a cada conta de serviço o conjunto mínimo de papéis necessários.

Primeiro, liste as contas de serviço no seu projeto do Google Cloud:

gcloud iam service-accounts list

A saída mostra os endereços de e-mail das suas contas de serviço:

whitelisted-service-account@my-gcp-project.iam.gserviceaccount.com
register-service-account@my-gcp-project.iam.gserviceaccount.com
connect-service-account@my-gcp-project.iam.gserviceaccount.com
stackdriver-service-account@my-gcp-project.iam.gserviceaccount.com

Anote o endereço de e-mail de cada conta. Para cada uma das seções a seguir, você fornece o endereço de e-mail da conta relevante.

Registrar conta de serviço

Conceda os papéis gkehub.admin e serviceuseage.serviceUsageViewer à sua conta de serviço de registro:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.admin"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/serviceusage.serviceUsageViewer"

Conectar conta de serviço

Conceda o papel gkehub.connect à sua conta de serviço do Connect:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[Connect_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.connect"

Conta de serviço do pacote de operações do Google Cloud

Conceda os papéis stackdriver.resourceMetadata.writer, logging.logWriter e monitoring.metricWriter à conta de serviço do pacote de operações do Google Cloud:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[Google Cloud's operations suite_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[Google Cloud's operations suite_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[Google Cloud's operations suite_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/monitoring.metricWriter"