Utiliser plusieurs projets Google Cloud

Ce document explique comment utiliser des projets Google Cloud distincts pour différents aspects d'Anthos clusters on VMware (GKE On-Prem).

Ces instructions sont complètes. Pour une présentation plus courte de l'utilisation d'un projet Google Cloud, consultez le guide de démarrage rapide de Google Cloud.

Avant de commencer

Installez Google Cloud CLI.

Fichiers de configuration de cluster

Les fichiers de configuration du cluster d'administrateur et du cluster d'utilisateur comportent plusieurs champs dans lesquels vous pouvez spécifier un ID de projet Google Cloud:

stackdriver:
  projectID: ""
...
gkeConnect:
  projectID: ""
...
usageMetering:
  bigQueryProjectID: ""
...
cloudAuditLogging:
  projectID: ""

L'idée est de disposer d'un projet pour la gestion de votre cluster dans Google Cloud Console, d'un autre projet pour l'affichage des journaux et des métriques, etc. La seule exception est que votre projet de journalisation d'audit doit être identique à votre projet connect.

Toutefois, vous n'avez pas besoin d'utiliser des ID de projet distincts. Vous pouvez, par exemple, utiliser le même projet pour la gestion et la journalisation. Si vous le souhaitez, vous pouvez très bien utiliser le même projet pour différentes fonctionnalités.

Activer des services dans un projet Google Cloud

Certains services Google Cloud doivent avoir certains services activés. Par exemple, les services suivants doivent être activés pour votre projet Connect :

cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
serviceusage.googleapis.com
iam.googleapis.com

Pour activer les services dans un projet, vous devez disposer de certaines autorisations sur le projet Google Cloud. Pour en savoir plus, consultez les autorisations requises pour services.enable dans la section Contrôle des accès.

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

Projet Connect

Lorsque vous créez un cluster d'utilisateur, Clusters Anthos sur VMware utilise Connect pour enregistrer le cluster avec le projet Google Cloud de votre choix. Une fois le cluster enregistré, vous pouvez l'afficher et le gérer dans ce projet dans Google Cloud Console.

Connect utilise un déploiement appelé agent Connect pour établir une connexion entre votre cluster d'utilisateur et votre projet Google Cloud.

Dans le fichier de configuration de votre cluster d'utilisateur, définissez gkecConnect.projectID sur l'ID du projet Google Cloud dans lequel vous souhaitez afficher et gérer votre cluster.

Activer des API dans votre projet Connect

Pour activer les API requises dans votre projet Connect :

Linux et macOS

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

[PROJECT_ID] correspond à l'ID de votre projet Connect.

Windows

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

[PROJECT_ID] correspond à l'ID de votre projet Connect.

Attribuer des rôles aux comptes de service sur votre projet Connect

Votre compte de service connect-register et votre compte de service connect-agent doivent disposer de certains rôles sur votre projet Connect.

Pour en savoir plus, consultez les pages Compte de service connect-register et Compte de service connect-agent.

Projet de journalisation et de surveillance

Dans un cluster d'utilisateur, les agents de journalisation et de métriques collectent des données et les mettent à la disposition de Cloud Logging et Cloud Monitoring. Pour afficher les journaux et les métriques de votre cluster, vous devez spécifier un projet Google Cloud associé.

Dans le fichier de configuration de votre cluster d'utilisateur, définissez stackdriver.projectID sur l'ID du projet Google Cloud que vous souhaitez associer à la journalisation et à la surveillance. Il s'agit du projet dans lequel vous allez afficher les journaux et les métriques du cluster.

Activer des API dans votre projet de journalisation et de surveillance

Pour activer les API requises dans votre projet de journalisation et de surveillance :

Linux et macOS

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

[PROJECT_ID] est l'ID de votre projet de journalisation et de surveillance.

Windows

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

[PROJECT_ID] est l'ID de votre projet de journalisation et de surveillance.

Attribuer des rôles aux comptes de service de votre projet de journalisation et de surveillance

Vous devez attribuer certains rôles à votre compte de service de journalisation et de surveillance sur votre projet de journalisation et de surveillance.

Pour en savoir plus, consultez la section Compte de service de journalisation et de surveillance.

Projet de journalisation d'audit

Si vous activez les journaux d'audit Cloud pour un cluster, les entrées du journal d'audit du serveur d'API Kubernetes du cluster sont envoyées à Google Cloud.

Le projet dans lequel vous affichez les journaux d'audit est appelé projet de journalisation d'audit. Votre projet de journalisation d'audit doit être identique à celui de votre projet connect.

Dans le fichier de configuration du cluster, définissez cloudAuditLogging.projectID sur l'ID de votre projet de connexion.

Activer des API dans votre projet de journalisation d'audit

Pour activer les API requises dans votre projet de journalisation d'audit :

Linux et macOS

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

[PROJECT_ID] correspond à l'ID de votre projet de journalisation d'audit.

Windows

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

[PROJECT_ID] correspond à l'ID de votre projet de journalisation d'audit.

Attribuer des rôles aux comptes de service sur votre projet de journalisation d'audit

Votre compte de service de journalisation d'audit doit disposer de certains rôles sur votre projet de journalisation d'audit.

Pour en savoir plus, consulter la section Compte de service de journalisation d'audit.

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 qu'Anthos Clusters on 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 du 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.

Projet de mesure de l'utilisation

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

Dans votre fichier de configuration de cluster d'utilisateur, définissez usageMetering.bigQueryProjectID sur l'ID du projet Google Cloud dans lequel vous souhaitez stocker les données d'utilisation.

Activer des API dans votre projet de mesure de l'utilisation

Pour activer les API requises dans votre projet de mesure de l'utilisation :

Linux et macOS

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

[PROJECT_ID] correspond à l'ID de votre projet de mesure de l'utilisation.

Windows

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

[PROJECT_ID] correspond à l'ID de votre projet de mesure de l'utilisation.

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.

Étapes suivantes

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