Déployer sur des clusters d'utilisateur GKE Enterprise

Ce document explique comment déployer vos applications sur des clusters GKE Enterprise. La compatibilité avec les cibles GKE Enterprise permet le déploiement sur des clusters AWS, Azure et sur site.

Cloud Deploy vous permet de déployer vos charges de travail basées sur des conteneurs sur n'importe quel cluster d'utilisateur GKE Enterprise auquel vous pouvez accéder à l'aide de la passerelle Connect.

Avant de commencer

  • Disposer d'un cluster d'utilisateur GKE Enterprise sur lequel effectuer le déploiement.

    Il peut s'agir d'un cluster que vous avez créé en tant que cluster d'utilisateur GKE Enterprise ou vous pouvez enregistrer un cluster Kubernetes existant. Les clusters que vous créez pour GKE Enterprise reçoivent automatiquement des membres. Pour les clusters existants que vous enregistrez dans un parc, vous devez désigner un nom d'appartenance lors de l'enregistrement. Vous aurez besoin de ce nom d'appartenance pour la configuration cible.

    Si vous utilisez la Google Cloud CLI 407.0.0 ou une version ultérieure, vous devez inclure l'option --install-connect-agent dans la commande gcloud container fleet memberships register lorsque vous enregistrez un cluster Google Kubernetes Engine. L'agent Connect n'est plus installé par défaut.

  • Configurez une passerelle de connexion pour connecter le ou les clusters enregistrés à Google Cloud.

    Veillez à configurer la passerelle à l'aide du même compte de service que celui du compte de service d'exécution Cloud Deploy. Si vous ne le faites pas, le compte de service d'exécution ne disposera pas des autorisations nécessaires pour effectuer un déploiement sur le cluster GKE Enterprise.

Configurer Cloud Deploy pour effectuer un déploiement sur GKE Enterprise

  1. Créez la configuration de la cible.

    La cible peut être configurée dans le fichier YAML de votre pipeline de livraison ou dans un fichier distinct. Vous pouvez également configurer plusieurs cibles dans le même fichier, mais elles doivent se trouver dans des stanzas kind: Target différentes.

  2. Accordez au compte de service d'exécution les rôles dont il a besoin pour qu'il puisse interagir avec les clusters connectés via la passerelle.

    Cette autorisation est nécessaire, que vous utilisiez le compte de service Cloud Deploy par défaut ou un compte de service personnalisé.

  3. Configurez RBAC pour le compte de service d'exécution sur le cluster Kubernetes sous-jacent au cluster Anthos.

  4. Facultatif: si le cluster sous-jacent n'est pas un cluster GKE, vous devrez peut-être configurer imagePullSecret pour permettre à votre cluster d'extraire des données d'Artifact Registry.

  5. Dans la définition de la cible, créez un stanza anthosCluster pour pointer vers le cluster GKE Enterprise:

    La syntaxe permettant de spécifier un cluster GKE Enterprise est la suivante:

    anthosCluster:
     membership: projects/[project_name]/locations/global/memberships/[membership_name]
    

    Cet identifiant de ressource GKE Enterprise utilise les éléments suivants:

    • [project_name] est le nom du projet Google Cloud dans lequel vous exécutez ce cluster.

      Le cluster dans lequel vous effectuez le déploiement, y compris les clusters GKE Enterprise, ne doit pas se trouver dans le même projet que votre pipeline de livraison.

    • [membership_name] est le nom que vous avez choisi lors de l'enregistrement du cluster dans un parc.

    Pour location, toutes les appartenances aux clusters GKE Enterprise sont global. Vous n'avez donc pas besoin de modifier /locations/global/ dans cet identifiant de ressource.

Voici un exemple de configuration cible, pointant vers un cluster d'utilisateur GKE Enterprise:

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: qsdev
      description: development cluster
      anthosCluster:
       membership: projects/my-app/locations/global/memberships/my-app-dev-cluster

Étapes suivantes