Créer un poste de travail administrateur

Ce document explique comment créer un poste de travail administrateur pour Anthos clusters on VMware (GKE On-Prem), qui peut vous servir à créer des clusters.

La procédure décrite dans ce document utilise l'outil de ligne de commande gkeadm, disponible pour Linux 64 bits, Windows 10, Windows Server 2019 et macOS 10.15 et versions ultérieures.

Ces instructions sont complètes. Pour une introduction plus courte à la création d'un poste de travail d'administrateur, consultez la section Créer un poste de travail d'administrateur (guide de démarrage rapide).

Avant de commencer

Notez l'adresse de votre serveur vCenter.

Notez le chemin de votre certificat CA.

Installez la Google Cloud CLI.

Créez un ou plusieurs projets Google Cloud, comme décrit dans Utiliser plusieurs projets Google Cloud.

Planifier les comptes de service

Lorsque vous utilisez gkeadm pour créer un poste de travail administrateur, vous avez la possibilité de laisser gkeadm créer la plupart de vos clés et comptes de service. Dans ce cas, gkeadm accorde également les rôles IAM appropriés aux comptes de service.

Vous pouvez également créer manuellement vos comptes de service et vos clés. Dans ce cas, vous devez attribuer manuellement des rôles IAM à vos comptes de service.

La création manuelle de comptes de service offre davantage de flexibilité que lorsque gkeadm les crée pour vous :

  • Les comptes de service créés automatiquement ont tous le même projet Google Cloud parent que votre compte de service d'accès au composant. Lorsque vous créez un compte de service manuellement, vous pouvez choisir le projet Google Cloud parent.

  • Les comptes de service créés automatiquement se voient attribuer les rôles IAM sur le projet Google Cloud parent de votre compte de service d'accès au composant. Ce n'est pas un problème s'il s'agit du seul projet Google Cloud associé à vos clusters. Toutefois, si vous souhaitez associer vos clusters à plusieurs projets Google Cloud, vous devez attribuer des rôles à un compte de service sur le projet Google Cloud de votre choix.

Si vous décidez de créer vos propres comptes de service, suivez les instructions de la section Comptes de service et clés.

Que vous utilisiez ou non gkeadm pour créer automatiquement des comptes de service, vous devrez créer manuellement un compte de service : votre compte de service d'accès au composant. Pour savoir comment créer votre compte de service d'accès au composant et lui attribuer les rôles IAM appropriés, consultez la section Compte de service d'accès au composant.

Générer des modèles pour vos fichiers de configuration

Téléchargez gkeadm dans votre répertoire actuel.

Générer des modèles :

./gkeadm create config

La commande précédente a créé ces fichiers dans votre répertoire actuel :

  • credential.yaml
  • admin-ws-config.yaml

Renseigner credential.yaml

Dans credential.yaml, renseignez votre nom d'utilisateur et votre mot de passe vCenter. Exemple :

kind: CredentialFile
items:
- name: vCenter
  username: "my-account-name"
  password: "AadmpqGPqq!a"

Renseigner admin-ws-config.yaml

Plusieurs champs de admin-ws-config.yaml sont déjà renseignés avec les valeurs par défaut ou générées. Vous pouvez conserver les valeurs renseignées automatiquement ou apporter des modifications le cas échéant.

Champs à renseigner manuellement.

Renseignez les champs obligatoires suivants. Pour en savoir plus sur comment renseigner les champs, consultez le fichier de configuration de poste de travail d'administrateur.

gcp:
   componentAccessServiceAccountKeyPath: "Fill in"
vCenter:
  credentials:
    address: "Fill in"
  datacenter: "Fill in"
  datastore: "Fill in"
  cluster: "Fill in"
  network: "Fill in"
  resourcePool: "Fill in"
  caCertPath: "Fill in"

Si votre poste de travail d'administrateur se trouve derrière un serveur proxy, renseignez le champ proxyURL :

adminWorkstation:
  proxyURL: "Fill in"

Si vous souhaitez que votre poste de travail d'administrateur obtienne son adresse IP à partir d'un serveur DHCP, définissez ipAllocationMode sur "dhcp" et supprimez la section hostconfig :

adminWorkstation:
  network:
    ipAllocationMode: "dhcp"

Si vous souhaitez spécifier une adresse IP statique pour votre poste de travail d'administrateur, définissez ipAllocationMode sur "static" et renseignez la section hostconfig :

adminWorkstation:
  network:
    ipAllocationMode: "static"
    hostconfig:
      ip: "Fill in"
      gateway: "Fill in"
      netmask: "Fill in"
      dns:
      - "Fill in"

Connexion

Le compte Google défini en tant que propriété account du SDK est appelé compte SDK. L'outil de ligne de commande gkeadm utilise votre compte SDK pour télécharger le fichier OVA du poste de travail administrateur et activer les services dans votre projet Google Cloud.

Si vous choisissez d'utiliser gkeadm pour créer automatiquement des comptes de service, gkeadm utilise également votre compte SDK pour créer des comptes de service et des clés, ainsi que pour attribuer des rôles aux comptes de service. Il est donc important de définir la propriété account du SDK avant d'exécuter la commande gkeadm pour créer un poste de travail administrateur.

Connectez-vous avec un compte Google. Cela définit la propriété account du SDK :

gcloud auth login

Vérifiez que la propriété account du SDK est correctement définie :

gcloud config list

Le résultat affiche les valeurs de la propriété account du SDK. Exemple :

[core]
account = my-name@google.com
disable_usage_reporting = False
Your active configuration is: [default]

Attribuer des rôles à votre compte SDK

Votre compte SDK doit disposer du rôle IAM suivant sur le projet Google Cloud parent de votre compte de service d'accès au composant. Cela permet à gkeadm d'activer des services sur le projet Google Cloud.

  • serviceUsage.serviceUsageAdmin

Si vous choisissez d'utiliser gkeadm pour créer automatiquement des comptes de service, votre compte SDK doit également disposer des rôles suivants sur le projet parent de votre compte de service d'accès au composant. Cela permet à gkeadm de créer des comptes de service et des clés.

  • resourcemanager.projectIamAdmin
  • iam.serviceAccountCreator
  • iam.serviceAccountKeyAdmin

Pour attribuer des rôles à un projet Google Cloud, vous devez disposer de certaines autorisations sur ce projet. Pour plus d'informations, consultez la page Accorder, modifier et révoquer les accès à des ressources.

Si vous disposez des autorisations requises, vous pouvez attribuer les rôles vous-même. Sinon, un autre membre de votre organisation doit attribuer les rôles pour vous.

Attribuez le rôle requis à votre compte SDK :

Linux et macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/serviceusage.serviceUsageAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/serviceusage.serviceUsageAdmin"

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud parent de votre compte de service d'accès au composant.

  • ACCOUNT : votre compte SDK

Pour attribuer des rôles supplémentaires si vous souhaitez que gkeadm crée automatiquement des comptes de service.

Linux et macOS

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:ACCOUNT" \
    --role="roles/iam.serviceAccountKeyAdmin"

Windows

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/resourcemanager.projectIamAdmin"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/iam.serviceAccountCreator"

gcloud projects add-iam-policy-binding PROJECT_ID ^
    --member="user:ACCOUNT" ^
    --role="roles/iam.serviceAccountKeyAdmin"

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet parent de votre compte de service d'accès au composant

  • ACCOUNT : votre compte SDK

Créer votre poste de travail administrateur

Saisissez cette commande pour créer votre poste de travail d'administrateur. Si vous souhaitez que gkeadm crée des comptes de service pour vous, incluez l'option --auto-create-service-accounts. Si vous souhaitez créer manuellement vos propres comptes de service, omettez l'option.

./gkeadm create admin-workstation [--auto-create-service-accounts]

Le résultat fournit des informations détaillées sur la création de votre poste de travail d'administrateur :

...
Getting ... service account...
...
********************************************************************
Admin workstation is ready to use.

Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation
This file is required for future upgrades
SSH into the admin workstation with the following command:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1
********************************************************************

Obtenir une connexion SSH à votre poste de travail d'administrateur

Vers la fin du résultat précédent, vous obtenez une commande que vous pouvez utiliser pour vous connecter en SSH à votre poste de travail d'administrateur. Saisissez cette commande maintenant. Exemple :

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.5.1

Répertoriez les fichiers sur votre poste de travail d'administrateur :

ls -1

Le résultat affiche deux fichiers de configuration de cluster, votre fichier de certificat CA et le fichier de clé JSON pour votre compte de service d'accès au composant. Si gkeadm a créé des comptes de service pour vous, vous pouvez également voir les fichiers de clé JSON de ces comptes. Exemple :

admin-cluster.yaml
user-cluster.yaml
vcenter-ca-cert.pem
component-access-key.json

Vérifiez que gkeadm a activé votre compte de service d'accès au composant sur votre poste de travail administrateur :

gcloud config get-value account

Copier un fichier de clé JSON sur votre poste de travail administrateur

Avant de créer un cluster, les fichiers de clé JSON de vos comptes de service doivent se trouver sur le poste de travail administrateur dans le répertoire d'accueil.

La clé de votre compte de service d'accès au composant se trouve déjà sur votre poste de travail administrateur.

Si vous avez inclus l'option --auto-create-service-accounts lors de l'exécution de gkeadm create admin-workstation, les clés des comptes de service suivants se trouvent déjà sur votre poste de travail administrateur dans le répertoire d'accueil. Sinon, vous devez copier manuellement les clés dans le répertoire d'accueil de votre poste de travail administrateur :

  • Compte de service connect-register
  • Compte de service logging-monitoring

Si vous avez créé l'un des comptes de service suivants, vous devez copier manuellement les clés de ces comptes dans le répertoire d'accueil de votre poste de travail administrateur :

  • Compte de service de mesure de l'utilisation
  • Compte de service de journalisation d'audit
  • Compte de service d'autorisation binaire

Restaurer le poste de travail administrateur à partir d'un fichier de sauvegarde

Lorsque vous mettez à jour un poste de travail administrateur, la commande de mise à jour gkeadm enregistre également par défaut un fichier de sauvegarde. Si par la suite vous n'avez plus de poste de travail administrateur ou que vous avez perdu certains fichiers qui se trouvaient sur votre poste de travail administrateur mis à niveau, vous pouvez créer un poste de travail administrateur qui sera restauré à son état de post-mise à niveau à l'aide du fichier de sauvegarde.

Pour créer un poste de travail administrateur à partir d'un fichier de sauvegarde, exécutez la commande suivante :

gkeadm create admin-workstation --restore-from-backup ADMIN_WORKSTATION_NAME-backup.tar.gz

Remplacez ADMIN_WORKSTATION_NAME par le nom du poste de travail administrateur.

Étapes suivantes

Créer un cluster d'administrateur