Grâce à Connect, vous pouvez utiliser la console Google Cloud pour gérer vos clusters d'utilisateurs. Chaque cluster d'utilisateur que vous créez exécute automatiquement l'agent Connect et est enregistré auprès de Connect. Pour en savoir plus, consultez la page Présentation de Connect.
Avant de commencer
Avant de commencer à utiliser GKE sur AWS, veillez à effectuer les tâches suivantes :
- Remplissez les conditions préalables.
- Installez un service de gestion.
- Créez un cluster d'utilisateur.
Se connecter au cluster avec Connect
Vous pouvez utiliser Google Cloud Console pour afficher, surveiller, déboguer et gérer les charges de travail sur vos clusters d'utilisateur.
Pour vous connecter à vos clusters d'utilisateur, procédez comme suit :
À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre cluster d'utilisateur.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Remplacez CLUSTER_NAME par le nom de votre cluster d'utilisateur.À partir d'une ligne de commande, utilisez
kubectl
pour configurer un compte de service Kubernetes et un jeton dans l'espace de nomskube-system
.Cet article suppose que le nom du compte de service est
admin-user
.env HTTPS_PROXY=http://localhost:8118 \ kubectl create serviceaccount -n kube-system admin-user
Créez un secret de jeton de compte de service avec
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -n kube-system -f - << EOF apiVersion: v1 kind: Secret metadata: name: admin-user-token annotations: kubernetes.io/service-account.name: admin-user type: kubernetes.io/service-account-token EOF
Créez un objet ClusterRoleBinding entre le rôle
cluster-admin
et le compte de service Kubernetes.env HTTPS_PROXY=http://localhost:8118 \ kubectl create clusterrolebinding admin-user-binding \ --clusterrole cluster-admin --serviceaccount kube-system:admin-user
Obtenez le secret du compte de service à l'aide de
kubectl
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get secret -n kube-system admin-user-token -o jsonpath='{$.data.token}' \ | base64 -d | sed $'s/$/\\\n/g'
Copiez le secret dans votre presse-papiers.
Dans la console Google Cloud, accédez à la page Présentation des clusters Google Kubernetes Engine.
Sélectionnez le cluster. L'écran Informations détaillées sur le cluster Kubernetes s'affiche.
Cliquez sur le bouton Connexion.
Sélectionnez Jeton et collez le jeton Kubernetes que vous avez copié précédemment. Cliquez sur "Connexion".
Enregistrer votre cluster
Pour empêcher plusieurs clusters de s'enregistrer sur Connect avec le même nom, enregistrez le cluster via Google Cloud CLI. Lorsque vous enregistrez un cluster, vous devez exécuter Google Cloud CLI à partir du même réseau que votre cluster. Pour enregistrer votre cluster, exécutez la commande suivante :
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH
Remplacez les éléments suivants :
- 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 nomsgke-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.
Étape suivante
Consultez la documentation complète sur la connexion aux clusters avec Connect.
Apprenez-en plus sur la gestion multicluster avec Connect.