Créer des comptes de service et des clés

Cette page explique comment créer les comptes de service Google Cloud et les clés dont vous avez besoin pour installer GKE On-Prem.

Se connecter en SSH au poste de travail administrateur

Connectez-vous en SSH à votre poste de travail administrateur :

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

[IP_ADDRESS] est l'adresse IP de votre poste de travail administrateur.

Effectuez toutes les étapes restantes de cette rubrique sur votre poste de travail administrateur.

Se connecter

Connectez-vous à Google Cloud à l'aide des identifiants de votre compte :

gcloud auth login

Présentation des comptes de service

Avant d'installer GKE On-Prem, vous devez créer quatre comptes de service dans votre projet Google Cloud. Vous devez également créer une clé JSON pour chaque compte de service. Voici les comptes de service dont vous avez besoin :

  • Compte de service sur liste d'autorisation
  • Compte de service Connect
  • Compte de service d'enregistrement
  • Compte de service de la suite Google Cloud Operations

Répertoriez vos comptes de service :

gcloud iam service-accounts list

Le résultat affiche les adresses e-mail de vos comptes de service :

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

Notez l'adresse e-mail de chaque compte.

Compte de service sur liste d'autorisation

Vous disposez déjà d'un compte de service sur liste d'autorisation.

Créez une clé pour votre compte de service sur liste d'autorisation :

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

[ALLOWLISTED_SERVICE_ACCOUNT_EMAIL] est l'adresse e-mail de votre compte de service sur liste d'autorisation.

Compte de service Connect

Connect utilise ce compte de service pour maintenir une connexion entre les clusters GKE On-Prem et Google Cloud.

Créez votre compte de service Connect :

gcloud iam service-accounts create connect-service-account

Créez une clé pour votre compte de service Connect :

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

[Connect_SERVICE_ACCOUNT_EMAIL] est l'adresse e-mail de votre compte de service Connect.

Compte de service d'enregistrement

Connect utilise ce compte de service pour enregistrer vos clusters GKE On-Prem avec Google Cloud Console.

Créez votre compte de service d'enregistrement :

gcloud iam service-accounts create register-service-account

Créez une clé pour votre compte de service d'enregistrement :

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

[REGISTER_SERVICE_ACCOUNT_EMAIL] est l'adresse e-mail de votre compte de service d'enregistrement.

Compte de service de la suite Google Cloud Operations

Connect utilise ce compte de service pour exporter les journaux de clusters depuis les clusters vers Stackdriver via votre projet GCP.

Créez le compte de service de la suite Google Cloud Operations :

gcloud iam service-accounts create stackdriver-service-account

Créez une clé pour votre compte de service de la suite Google Cloud Operations :

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

[Google Cloud's operations suite_SERVICE_ACCOUNT_EMAIL] est l'adresse e-mail de votre compte de service de la suite Google Cloud Operations.

À ce stade, vous avez créé quatre comptes de service dans votre projet Google Cloud et vous disposez d'une clé JSON pour chaque compte de service sur votre poste de travail administrateur.

Attribuer des rôles Identity and Access Management à vos comptes de service

Chacun de vos comptes de service doit disposer de certains rôles IAM. Il est recommandé d'accorder à chaque compte de service l'ensemble minimal de rôles dont il a besoin.

Commencez par répertorier les comptes de service dans votre projet Google Cloud :

gcloud iam service-accounts list

Le résultat affiche les adresses e-mail de vos comptes de service :

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

Notez l'adresse e-mail de chaque compte. Pour chacune des sections suivantes, vous devez indiquer l'adresse e-mail du compte concerné.

Compte de service d'enregistrement

Attribuez les rôles gkehub.admin et serviceuseage.serviceUsageViewer à votre compte de service d'enregistrement :

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"

Compte de service Connect

Attribuez le rôle gkehub.connect à votre compte de service Connect :

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

Compte de service de la suite Google Cloud Operations

Attribuez les rôles stackdriver.resourceMetadata.writer, logging.logWriter et monitoring.metricWriter au compte de service de la suite Google Cloud Operations :

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"