Associer des clusters tiers à Google Cloud (génération précédente)

Les clusters associés à GKE vous permettent d'afficher les clusters Kubernetes dans la console Google Cloud avec vos clusters GKE, et d'y activer plusieurs fonctionnalités GKE Enterprise, dont une gestion de configuration avec Config Sync.

Clusters Kubernetes compatibles

Vous pouvez associer n'importe quel cluster Kubernetes conforme incluant des nœuds x86 à votre parc, et l'afficher dans la console Google Cloud avec vos clusters GKE.

Les types et versions de clusters suivants ont été validés par Google. Pour en savoir plus sur les fonctionnalités GKE compatibles avec les clusters associés, consultez la page Composants Anthos et compatibilité multicloud.

Types de clusters associés Versions Kubernetes
Red Hat OpenShift Kubernetes Engine (OKE) 4.9, 4.10 1.23, 1.24
Red Hat OpenShift Container Platform (OCP) 4.9, 4.10 1.23, 1.24
Rancher Kubernetes Engine (RKE) 1.3.8 1.23, 1.24
KIND 0.12 1.23, 1.24
K3s 1.20 1.20
K3d 4.4.3 1.20

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Anthos API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Anthos API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Pour vous assurer que vous disposez des autorisations appropriées et que vous avez activé les API pour enregistrer un cluster, consultez les conditions préalables à l'enregistrement d'un parc.
  13. Consultez le guide Avant de commencer pour connaître les exigences spécifiques à l'association de clusters en dehors de Google Cloud, y compris les étapes de configuration spéciales dont vous pourriez avoir besoin pour votre type de cluster.

Enregistrer les clusters associés

Vous devez enregistrer tous les clusters que vous souhaitez utiliser avec GKE Enterprise dans le parc de votre projet. Un parc permet de regrouper et de normaliser des clusters Kubernetes de manière logique, ce qui facilite l'administration de l'infrastructure. Vous pouvez parcourir et gérer les clusters d'un même parc dans laGoogle Cloud Console, et de nombreux composants GKE Enterprise et Google Cloud utilisent des concepts de parc tels que la cohérence d'identité et la cohérence d'espace de noms pour simplifier le travail avec plusieurs clusters. Pour en savoir plus sur les parcs et leurs fonctionnalités, consultez notre guide de gestion de parc.

Vous êtes autorisé à activer et à utiliser les fonctionnalités de GKE Enterprise sur ces clusters, et vous pouvez gérer certaines fonctionnalités de GKE Enterprise au niveau du parc, depuis la Page sur les fonctionnalités de GKE. Les frais GKE Enterprise ne s'appliquent qu'aux clusters enregistrés.

Configurer l'identité

Tous les clusters associés nécessitent une identité que l'agent Connect doit utiliser lors de l'authentification auprès de Google. Si votre cluster remplit les conditions requises, vous pouvez l'enregistrer avec Workload Identity pour parc à des fins d'authentification. Les clusters sur lesquels cette fonctionnalité est activée utilisent un pool d'identités de charge de travail de parc à l'échelle du parc. Pour en savoir plus sur le fonctionnement de Workload Identity pour parc et les avantages liés à son utilisation, consultez la page Utiliser Workload Identity de parc.

Si vous ne pouvez pas utiliser Workload Identity pour parc, l'enregistrement d'un cluster associé nécessite un compte de service Google Cloud pour l'authentification. Nous vous recommandons de créer un compte de service pour chaque cluster que vous souhaitez associer. Pour créer un compte de service pour un cluster avec les rôles appropriés, suivez les instructions de la section Créer un compte de service Google Cloud avec gcloud. Une fois que vous avez créé votre compte de service, vous pouvez utiliser le fichier JSON avec les identifiants du compte de service (fichier de clé) pour enregistrer le cluster, comme décrit dans la section suivante.

Enregistrer votre cluster

Nous vous recommandons d'obtenir l'état d'appartenance de votre cluster après l'avoir enregistré pour vous assurer qu'il est bien connecté à Google Cloud. Consultez notre guide de dépannage en cas de problème lié à l'enregistrement.

gcloud

Exécutez la commande ci-dessous.

gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH

Remplacez l'élément suivant :

  • MEMBERSHIP_NAME : nom de l'abonnement que vous choisissez et permettant de représenter de manière unique le cluster enregistré sur le parc.
  • SERVICE_ACCOUNT_KEY_PATH : chemin d'accès local au fichier JSON de clé privée du compte de service téléchargé dans le cadre des conditions préalables. Cette clé de compte de service est stockée sous la forme d'un secret nommé creds-gcp dans l'espace de noms gke-connect.
  • KUBECONFIG_CONTEXT : contexte du cluster en cours d'enregistrement tel qu'il apparaît dans le fichier kubeconfig. Vous pouvez obtenir cette valeur depuis la ligne de commande en exécutant kubectl config current-context.
  • KUBECONFIG_PATH : chemin d'accès local au fichier contenant votre entrée kubeconfig, contenant une entrée pour le cluster enregistré. La valeur par défaut est $KUBECONFIG si cette variable d'environnement est définie, ou $HOME/.kube/config par défaut.

Enregistrer un cluster associé à Workload Identity pour parc

Pour enregistrer un cluster associé sur lequel Workload Identity pour parc est activé, exécutez la commande suivante. Pour en savoir plus sur les types de clusters associés pouvant utiliser cette fonctionnalité et sur les exigences supplémentaires, consultez la section Conditions préalables à l'utilisation de clusters associés.

gcloud container fleet memberships register MEMBERSHIP_NAME \
   --context=KUBECONFIG_CONTEXT \
   --kubeconfig=KUBECONFIG_PATH \
   --enable-workload-identity \
   --has-private-issuer

Console

Générer une commande d'enregistrement

Vous pouvez utiliser la console Google Cloud pour générer une commande d'enregistrement gcloud afin d'enregistrer votre cluster (avec un compte de service uniquement).

Pour enregistrer un cluster, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Présentation des clusters Google Kubernetes Engine.

    Accéder aux clusters GKE

  2. Cliquez sur Enregistrer un cluster existant.

  3. Cliquez sur Ajouter une plage d'adresses IP.

  4. Dans le champ Nom du cluster, saisissez le nom du cluster que vous souhaitez enregistrer.

  5. Facultatif : Ajoutez des libellés Google Cloud à votre cluster.

  6. Cliquez sur Générer la commande d'enregistrement.

  7. Dans Cloud Shell ou à l'emplacement où vous avez enregistré les identifiants de votre compte de service, modifiez et exécutez la commande gcloud affichée sur la page. Vous devez spécifier les valeurs suivantes :

    • CLUSTER_CONTEXT correspond au contexte du cluster tel qu'il apparaît dans le fichier kubeconfig. Vous pouvez obtenir cette valeur depuis la ligne de commande en exécutant kubectl config current-context.
    • KUBECONFIG_PATH est le chemin d'accès à l'emplacement local du fichier kubeconfig. La valeur par défaut est $KUBECONFIG si cette variable d'environnement est définie, ou $HOME/.kube/config par défaut.
    • LOCAL_KEY_PATH est le chemin d'accès au fichier de clé de votre compte de service.

    Cette commande déploie Connect Agent dans votre cluster d'utilisateur. Lorsque l'agent Connect se connecte à Google Cloud et que votre cluster est enregistré, un message s'affiche sur la page.

  8. Cliquez sur Définir les libellés ou sur Ignorer si vous n'avez défini aucun libellé.

Options d'inscription avancées (ligne de commande uniquement)

Télécharger le fichier manifeste de Connect Agent

Pour télécharger le fichier manifeste d'installation de l'agent Connect sans déployer l'agent, par exemple si vous souhaitez examiner ou modifier le fichier manifeste avant l'installation, transmettez l'option --manifest-output-file à la commande gcloud container fleet memberships register. Exemple :

--manifest-output-file=[MANIFEST_FILE_PATH]

[MANIFEST_FILE_PATH] est le chemin d'accès local au fichier dans lequel vous souhaitez stocker le fichier manifeste d'installation de l'agent Connect.

L'utilisation de cette option ne déploie pas l'agent Connect dans le cluster. Pour déployer l'agent Connect, appliquez manuellement le fichier manifeste téléchargé à votre cluster.

Utiliser un serveur proxy

Pour configurer un serveur proxy, transmettez l'option --proxy à la commande gcloud container fleet memberships register. Exemple :

--proxy=[URL]

[URL] correspond à l'adresse du proxy.

L'agent Connect n'est compatible qu'avec les proxys HTTP et HTTPS basés sur CONNECT et accepte les adresses IP et les noms d'hôte. Veillez à spécifier le protocole correspondant au type de proxy dans l'URL. Par exemple, pour transmettre un nom d'hôte HTTPS :

--proxy=https://mycorpproxy.com:443

Sauf indication contraire, Connect Agent utilise le port 3128 pour le proxy.

Si votre proxy exige une autorisation, veillez à insérer correctement vos identifiants, par exemple :

--proxy=http://user:password@10.10.10.10:8888

Installer Connect Agent dans un cluster avec des nœuds Windows et Linux

L'agent Connect doit s'exécuter sur un nœud Linux. Si vous effectuez l'installation dans un cluster mixte avec des nœuds Linux et Windows, vous pouvez vous assurer que l'agent Connect est déployé sur un nœud Linux en ajoutant un sélecteur de nœud approprié à la définition de déploiement.

Exécutez la commande suivante pour mettre à jour le déploiement avec le sélecteur de nœud approprié :

kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect

Pour vérifier que la mise à jour a réussi, exécutez la commande suivante :

kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect

La commande doit renvoyer

{"kubernetes.io/os":"linux"}
.

Dépannage

Si vous rencontrez des problèmes lors de cette configuration, consultez le guide de dépannage de la création de flottes.

Activer les fonctionnalités GKE Enterprise sur des clusters associés

Après avoir enregistré vos clusters, vous pouvez activer GKE Enterprise disponible pour vos applications. Ces fonctionnalités ne sont disponibles que sur nos types de clusters validés. Pour connaître les versions des fonctionnalités actuellement compatibles avec ces types de clusters, consultez l'article Compatibilité des versions et des mises à niveau.

Les guides suivants vous montrent comment activer les fonctionnalités compatibles sur vos clusters :

Pour obtenir des ensembles de documentation complets pour tous les composants de GKE Enterprise, y compris des tutoriels, des supports de référence et plus encore, consultez la page Composants GKE Enterprise.

Accéder aux clusters associés

Une fois que vous avez enregistré un cluster associé, celui-ci apparaît sur les pages des clusters GKE et Anthos de la console Google Cloud. Toutefois, pour afficher des détails supplémentaires tels que les nœuds et les charges de travail, vous devez vous connecter et vous authentifier auprès du cluster. Pour vous connecter à vos clusters associés à partir de la console Google Cloud, suivez les instructions de la section Se connecter aux clusters depuis la console Google Cloud. Selon la méthode d'authentification choisie, il se peut que vous, ou un administrateur de plate-forme, deviez effectuer une configuration supplémentaire avant que vous ou d'autres utilisateurs puissiez vous connecter au cluster.

Pour accéder aux clusters associés à partir de la ligne de commande, en utilisant une identité Google Cloud, consultez la page Se connecter à des clusters enregistrés avec la passerelle Connect.

Pour vous authentifier auprès des clusters associés à l'aide de votre fournisseur d'identité tiers existant (EKS sur les clusters AWS uniquement, fonctionnalité preview), consultez les pages Configurer GKE Identity Service pour un parc et Accéder aux clusters à l'aide de GKE Identity Service.

Étape suivante