Associer un cluster signifie le connecter à Google Cloud en l'enregistrant auprès de Google Cloud Fleet Management et en y installant le logiciel des clusters associés à GKE.
Vous pouvez associer un cluster à l'aide de gcloud CLI ou de Terraform. Pour apprendre comment créer et associer un cluster AKS à l'aide de Terraform, consultez le dépôt GitHub d'exemples pour les clusters associés à GKE
Pour associer un cluster AKS à l'aide de gcloud, procédez comme suit.
Prérequis
Assurez-vous que votre cluster respecte la configuration requise pour le cluster.
Lorsque vous associez votre cluster, vous devez spécifier les éléments suivants :
- Une Google Cloud région administrative compatible
- Version de la plate-forme
La région administrative est une région Google Cloud à partir de laquelle vous souhaitez administrer le cluster associé. Vous pouvez choisir n'importe quelle région compatible, mais il est recommandé de choisir la région la plus proche de votre cluster. Aucune donnée utilisateur n'est stockée dans la région administrative.
La version de la plate-forme est la version des clusters associés à GKE à installer sur votre cluster. Vous pouvez lister toutes les versions compatibles en exécutant la commande suivante :
gcloud container attached get-server-config \
--location=GOOGLE_CLOUD_REGION
Remplacez GOOGLE_CLOUD_REGION par le nom de l'emplacementGoogle Cloud à partir duquel administrer votre cluster.
Numérotation des versions de la plate-forme
Dans ces documents, la version des clusters associés à GKE est nommée la "version de la plate-forme" pour la distinguer de la version de Kubernetes. Les clusters associés à GKE utilisent la même convention de numérotation de version que GKE (par exemple, 1.21.5-gke.1). Lorsque vous associez ou mettez à jour votre cluster, vous devez choisir une version de plate-forme dont la version mineure est identique ou inférieure d'un niveau à la version Kubernetes de votre cluster. Par exemple, vous pouvez associer un cluster exécutant Kubernetes v1.22.* à la version de plate-forme v1.21.* ou v1.22.* des clusters associés à GKE.
Cela vous permet de passer à la version mineure suivante avant de mettre à niveau les clusters associés à GKE.
Associer votre cluster AKS
Pour associer votre cluster AKS à la Google Cloud gestion de parc, exécutez les commandes suivantes:
Assurez-vous que votre fichier kubeconfig contient une entrée correspondant au cluster que vous souhaitez associer :
az aks get-credentials -n AKS_CLUSTER_NAME \ -g RESOURCE_GROUP
Exécutez la commande suivante pour extraire le contexte kubeconfig de votre cluster et le stocker dans la variable d'environnement
KUBECONFIG_CONTEXT
:KUBECONFIG_CONTEXT=$(kubectl config current-context)
La commande permettant d'enregistrer votre cluster varie légèrement selon si vous avez configuré votre cluster avec l'émetteur OIDC privé par défaut ou l'émetteur public. Choisissez l'onglet qui s'applique à votre cluster:
Émetteur OIDC privé (par défaut)
Utilisez la commande
gcloud container attached clusters register
pour enregistrer le cluster :gcloud container attached clusters register CLUSTER_NAME \ --location=GOOGLE_CLOUD_REGION \ --fleet-project=PROJECT_NUMBER \ --platform-version=PLATFORM_VERSION \ --distribution=aks \ --context=KUBECONFIG_CONTEXT \ --has-private-issuer \ --kubeconfig=KUBECONFIG_PATH
Remplacez les éléments suivants :
- CLUSTER_NAME : nom du cluster Ce nom peut être le même AKS_CLUSTER_NAME que celui que vous avez utilisé à l'étape 1. CLUSTER_NAME doit être conforme à la norme RFC 1123 sur les noms de libellés.
- GOOGLE_CLOUD_REGION: région Google Cloud depuis laquelle vous administrez votre cluster
- PROJECT_NUMBER: projet hôte du parc à enregistrer avec votre cluster
- PLATFORM_VERSION : version de la plate-forme à utiliser pour le cluster
- KUBECONFIG_CONTEXT: contexte dans le fichier kubeconfig pour accéder au cluster AKS
- KUBECONFIG_PATH: chemin d'accès à votre fichier kubeconfig
Émetteur OIDC public
Récupérez l'URL d'émetteur OIDC de votre cluster à l'aide de la commande suivante :
az aks show -n CLUSTER_NAME \ -g RESOURCE_GROUP \ --query "oidcIssuerProfile.issuerUrl" -otsv
Remplacez RESOURCE_GROUP par le groupe de ressources AKS auquel votre cluster appartient.
Cette commande génère l'URL de votre émetteur OIDC. Enregistrer cette valeur pour une utilisation ultérieure.
Exécutez la commande suivante pour extraire le contexte kubeconfig de votre cluster et le stocker dans la variable d'environnement
KUBECONFIG_CONTEXT
:KUBECONFIG_CONTEXT=$(kubectl config current-context)
Utilisez la commande
gcloud container attached clusters register
pour enregistrer le cluster :gcloud container attached clusters register CLUSTER_NAME \ --location=GOOGLE_CLOUD_REGION \ --fleet-project=PROJECT_NUMBER \ --platform-version=PLATFORM_VERSION \ --distribution=aks \ --issuer-url=ISSUER_URL \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH
Remplacez les éléments suivants :
- CLUSTER_NAME : nom du cluster Ce nom peut être le même AKS_CLUSTER_NAME que celui que vous avez utilisé à l'étape 1. CLUSTER_NAME doit être conforme à la norme RFC 1123 sur les noms de libellés.
- GOOGLE_CLOUD_REGION: région Google Cloud dans laquelle administrer votre cluster
- PROJECT_NUMBER : projet hôte du parc dans lequel le cluster sera enregistré.
- PLATFORM_VERSION : version des clusters associés à GKE à utiliser pour le cluster
- ISSUER_URL: URL de l'émetteur récupérée précédemment
- KUBECONFIG_CONTEXT : contexte dans le fichier kubeconfig pour accéder à votre cluster, comme extrait précédemment
- KUBECONFIG_PATH : chemin d'accès à votre fichier kubeconfig
Autoriser Cloud Logging/Cloud Monitoring
Pour que les clusters associés GKE puissent créer et importer des journaux système et des métriques dansGoogle Cloud, ils doivent être autorisés.
Pour autoriser l'identité de charge de travail Kubernetes gke-system/gke-telemetry-agent
à écrire des journaux dans Google Cloud Logging et des métriques dans Google Cloud Monitoring, exécutez la commande suivante:
gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
--member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
--role=roles/gkemulticloud.telemetryWriter
Remplacez GOOGLE_PROJECT_ID
par l' Google Cloud ID de projet du cluster.
Cette liaison IAM permet à tous les clusters du projet Google Cloud d'importer des journaux et des métriques. Vous ne devez l'exécuter qu'après avoir créé votre premier cluster pour le projet.
L'ajout de cette liaison IAM échouera si vous n'avez pas créé au moins un cluster dans votre Google Cloud projet. En effet, le pool d'identités de charge de travail auquel il fait référence (GOOGLE_PROJECT_ID.svc.id.goog
) n'est pas provisionné avant la création du cluster.