Utiliser plusieurs projets Google Cloud

Ce document explique comment associer un ou plusieurs projets Google Cloud à un cluster GKE Enterprise sur VMware.

Ces instructions sont complètes. Pour une présentation plus courte de l'utilisation d'un projet Google Cloud, consultez la page Configurer une infrastructure minimale.

Avant de commencer

Installez Google Cloud CLI.

Projet hôte du parc

Chaque cluster d'administrateur doit être enregistré dans un parc. De plus, chaque cluster d'utilisateur géré par un cluster d'administrateur doit être enregistré dans le même parc que le cluster d'administrateur.

Lorsqu'un cluster d'administrateur ou d'utilisateur est enregistré dans un parc, il est associé à un projet hôte du parc. Un cluster d'administrateur et tous les clusters d'utilisateur qu'il gère ont le même projet hôte de parc. Dans la console Google Cloud, dans le projet hôte du parc, vous pouvez afficher et gérer vos clusters d'administrateur et d'utilisateur.

Pour spécifier un projet hôte de parc pour un cluster d'administrateur, saisissez un ID de projet dans le champ gkeConnect.projectID du fichier de configuration du cluster d'administrateur.

Si vous utilisez l'outil de ligne de commande gkectl pour créer un cluster d'utilisateur, saisissez un ID de projet dans le champ gkeConnect.projectID du fichier de configuration du cluster d'utilisateur.

Si vous utilisez la console Google Cloud pour créer un cluster d'utilisateur, le projet Google Cloud actuel devient automatiquement le projet hôte du parc.

Activer les API dans le projet hôte de votre parc

Linux et macOS

Activez les API requises dans le projet hôte de votre parc:

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthos.googleapis.com \
    container.googleapis.com \
    gkehub.googleapis.com \
    gkeconnect.googleapis.com \
    connectgateway.googleapis.com \
    stackdriver.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Si vous souhaitez gérer le cycle de vie des clusters d'utilisateur dans la console Google Cloud, la Google Cloud CLI ou Terraform, activez les API supplémentaires suivantes dans le projet hôte de votre parc:

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    gkeonprem.googleapis.com \
    anthosaudit.googleapis.com \
    storage.googleapis.com

Windows

Activez les API requises dans le projet hôte de votre parc:

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthos.googleapis.com ^
    container.googleapis.com ^
    gkehub.googleapis.com ^
    gkeconnect.googleapis.com ^
    connectgateway.googleapis.com ^
    stackdriver.googleapis.com ^
    monitoring.googleapis.com ^
    logging.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Si vous souhaitez gérer le cycle de vie des clusters d'utilisateur dans la console Google Cloud, la Google Cloud CLI ou Terraform, activez les API supplémentaires suivantes dans le projet hôte de votre parc:

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    gkeonprem.googleapis.com ^
    anthosaudit.googleapis.com ^
    storage.googleapis.com

Afficher les journaux et les métriques dans le projet hôte de votre parc

Si vous souhaitez afficher les journaux et les métriques de cluster dans la console Google Cloud, saisissez l'ID du projet hôte de votre parc dans le champ stackdriver.projectID de vos fichiers de configuration de cluster admin et user.

Cette section stackdriver est obligatoire par défaut. Autrement dit, si vous ne remplissez pas la section stackdriver, vous devez inclure l'option --skip-validation-stackdriver lorsque vous exécutez gkectl create.

Vous ne pouvez saisir aucun autre ID de projet dans le champ stackdriver.projectID. Si vous saisissez une valeur, il doit s'agir de l'ID du projet hôte de votre parc.

Si vous choisissez d'afficher les journaux et les métriques de cluster dans la console Google Cloud, activez les API suivantes dans le projet hôte de votre parc:

Linux et macOS

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    stackdriver.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    stackdriver.googleapis.com ^
    monitoring.googleapis.com ^
    logging.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Afficher les journaux d'audit dans le projet hôte de votre parc

Si vous souhaitez afficher les journaux d'audit et dans la console Google Cloud, saisissez l'ID du projet hôte de votre parc dans le champ cloudAuditLogging.projectID de vos fichiers de configuration de cluster admin et user.

Vous ne pouvez saisir aucun autre ID de projet dans le champ cloudAuditLogging.projectID. Si vous saisissez une valeur, il doit s'agir de l'ID du projet hôte de votre parc.

Si vous choisissez d'afficher les journaux d'audit dans la console Google Cloud, activez les API suivantes dans le projet hôte de votre parc:

Linux et macOS

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthosaudit.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthosaudit.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Attribuer des rôles aux comptes de service sur votre projet hôte de parc

Votre compte de service connect-register doit disposer de certains rôles sur votre projet hôte de parc. Pour en savoir plus, consultez Compte de service Connect-register.

Votre compte de service de journalisation et de surveillance doit disposer de certains rôles sur le projet hôte de votre parc. Pour en savoir plus, consultez la section Compte de service de journalisation et de surveillance.

Votre compte de service de journalisation d'audit doit disposer de certains rôles sur le projet hôte de votre parc. Pour en savoir plus, consulter la section Compte de service de journalisation d'audit.

Projet de mesure de l'utilisation

Si vous activez la mesure de l'utilisation de GKE pour un cluster d'utilisateur, GKE sur VMware stocke les données d'utilisation dans un ensemble de données BigQuery associé au projet Google Cloud de votre choix. Ce projet Google Cloud est appelé votre projet de mesure de l'utilisation.

Votre projet de mesure de l'utilisation peut être identique au projet hôte de votre parc, ou il peut être différent.

Pour activer la mesure de l'utilisation, dans le fichier de configuration du cluster d'utilisateur, définissez usageMetering.bigQueryProjectID sur l'ID de votre projet de mesure de l'utilisation.

Si vous choisissez d'activer la mesure de l'utilisation, activez les API suivantes dans votre projet de mesure de l'utilisation:

Linux et macOS

gcloud services enable --project USAGE_METERING_PROJECT_ID] \
    bigquery.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project USAGE_METERING_PROJECT_ID ^
    bigquery.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Attribuer des rôles aux comptes de service sur votre projet de mesure de l'utilisation

Votre compte de service de mesure de l'utilisation doit disposer de certains rôles sur votre projet de mesure de l'utilisation.

Pour en savoir plus, consultez la section Compte de service de mesure de l'utilisation.

Projet parent de votre compte de service d'accès au composant

Avant de créer un cluster, vous devez disposer d'un compte de service que GKE sur VMware peut utiliser pour télécharger des composants à partir de Container Registry. Ce compte de service est appelé compte de service d'accès au composant.

Le projet Google Cloud dans lequel vous avez créé votre compte de service d'accès au composant est appelé le parent de votre compte de service d'accès au composant. Ce projet peut être l'un des projets que vous spécifiez dans vos fichiers de configuration de cluster ou être différent de tous les projets que vous spécifiez dans vos fichiers de configuration. Pour en savoir plus sur les comptes de service et les projets parents, consultez la page Comprendre les comptes de service et les projets Google Cloud.

Pour activer les API requises pour le projet parent de votre compte de service d'accès au composant, procédez comme suit :

Linux et macOS

gcloud services enable --project [PROJECT_ID] \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

[PROJECT_ID] correspond à l'ID du projet parent de votre compte de service d'accès au composant.

Windows

gcloud services enable --project [PROJECT_ID] ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

[PROJECT_ID] correspond à l'ID du projet parent de votre compte de service d'accès au composant.

Étapes suivantes

Créez des clés et des comptes de service.