Déployer sur des clusters GKE associés

Ce document explique comment déployer vos applications sur des clusters associés à GKE. La compatibilité avec les clusters GKE associés 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 tous les clusters GKE associés auxquels vous pouvez accéder à l'aide de la passerelle Connect.

Avant de commencer

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

    Vous pouvez créer des clusters en tant que clusters associés à GKE ou enregistrer un cluster Kubernetes existant. Les clusters que vous créez en tant que clusters associés à GKE reçoivent automatiquement des appartenances. Pour les clusters existants que vous enregistrez dans un parc, vous devez désigner un nom d'abonnement lors de l'enregistrement. Vous aurez besoin de ce nom d'appartenance lorsque vous configurerez la cible.

    Si vous utilisez la version 407.0.0 ou ultérieure de Google Cloud CLI, vous devez inclure le flag --install-connect-agent sur 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 la passerelle Connect pour connecter le ou les clusters enregistrés à Google Cloud.

    Veillez à configurer la passerelle à l'aide du même compte de service que celui qui sera utilisé comme compte de service d'exécution Cloud Deploy. Sinon, le compte de service d'exécution ne disposera pas des autorisations nécessaires pour effectuer le déploiement sur le cluster.

Configurer Cloud Deploy pour déployer des clusters GKE associés

  1. Créez votre configuration cible.

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

  2. Attribuez au compte de service d'exécution les rôles dont il a besoin pour pouvoir 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.

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

  5. Dans la définition de la cible, créez une strophe anthosCluster pour pointer vers le cluster :

    La syntaxe permettant de spécifier des clusters associés à GKE est la suivante :

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

    Cet identifiant de ressource de clusters associés à GKE utilise les éléments suivants :

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

      Le cluster sur lequel vous déployez, y compris les clusters GKE associés, n'a pas besoin de se trouver dans le même projet que votre pipeline de déploiement.

    • [membership_name] est le nom que vous avez choisi lorsque vous avez enregistré le cluster dans un parc.

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

Voici un exemple de configuration cible :

      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