Déployer sur des clusters d'utilisateurs GKE Enterprise

Ce document explique comment déployer vos applications sur des clusters GKE Enterprise. La prise en charge des cibles GKE Enterprise permet de déployer des clusters sur 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 utilisateur GKE Enterprise auquel vous pouvez accéder à l'aide de la passerelle Connect.

Avant de commencer

  • Vous disposez d'un cluster utilisateur GKE Enterprise sur lequel vous allez effectuer le déploiement.

    Il peut s'agir d'un cluster que vous avez créé en tant que cluster utilisateur GKE Enterprise, ou vous pouvez enregistrer un cluster Kubernetes existant. Les clusters que vous créez pour GKE Enterprise 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 de membre pour la configuration cible.

    Si vous utilisez la version 407.0.0 ou ultérieure de Google Cloud CLI, vous devez inclure l'indicateur --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 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 le déploiement sur le cluster GKE Enterprise.

Configurer Cloud Deploy pour déployer sur GKE Enterprise

  1. Créez votre configuration cible.

    La cible peut être configurée dans le fichier YAML de votre pipeline de diffusion 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 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 du cluster Anthos.

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

  5. Dans la définition de la cible, créez une strophe 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] correspond au nom du projet Google Cloud dans lequel vous exécutez ce cluster.

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

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

    Pour location, tous les membres du cluster 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, qui pointe vers un cluster 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

Étape suivante