Vous consultez la documentation d'une version précédente de GKE On-Prem. Consulter la documentation la plus récente

Aide-mémoire GKE On-Prem

Cet article présente les commandes appelées lors de l'utilisation de GKE On-Prem. Il a pour objectif d'offrir plus de commodité et de compléter la documentation GKE On-Prem.

Les options entre crochets sont facultatives. Les variables de type Placeholder variables sont modifiables.

Commandes kubectl

Voir aussi l'aide-mémoire sur kubectl.

Définir le fichier kubeconfig par défaut

export KUBECONFIG=[KUBECONFIG_PATH]

Répertorier les clusters à partir du fichier kubeconfig par défaut

kubectl get clusters

Passez en mode --kubeconfig [KUBECONFIG_PATH] pour afficher les clusters dans une configuration kubeconfig différente de celle par défaut.

Répertorier les nœuds d'un cluster à partir du fichier kubeconfig par défaut

kubectl get nodes

Passez en mode --kubeconfig [KUBECONFIG_PATH] pour afficher les clusters dans une configuration kubeconfig différente de celle par défaut.

Répertorier tous les conteneurs dans tous les espaces de noms

kubectl get pods --all-namespaces -o jsonpath="{..image}" |\
tr -s '[[:space:]]' '\n' |\
sort |\
uniq -c

Commandes gkectl

Voir aussi la documentation de référence sur gkectl.

Diagnostiquer des problèmes de cluster à l'aide de gkectl

Utilisez les commandes gkectl diagnose pour identifier les problèmes de cluster et partager des informations de cluster avec Google. Consultez la page Diagnostiquer les problèmes de cluster.

Générer un fichier de configuration GKE On-Prem

gkectl create-config [--config [PATH]]

Valider un fichier de configuration

gkectl check-config --config [PATH]

Transférer des images GKE On-Prem dans votre registre Docker et initialiser l'image d'OS du nœud

gkectl prepare --config [CONFIG_FILE] [--validate-attestations]

Créer des clusters

gkectl create cluster --config [CONFIG_FILE]

Comptes de service Google Cloud

Créer un compte de service

gcloud iam service-accounts create [SERVICE_ACCOUNT_NAME] --project [PROJECT_ID]

Attribuer un rôle IAM à un compte de service

gcloud projects add-iam-policy-binding \
    [PROJECT_ID] \
    --member="serviceAccount:[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com" \
    --role="[ROLE_NAME]"

Créer une clé privée pour un compte de service

gcloud iam service-accounts keys create [KEY_FILE_NAME] \
--iam-account [SERVICE_ACCOUNT_NAME]@[PROJECT-ID].iam.gserviceaccount.com \
--project [PROJECT_ID]

Activer un compte de service et exécuter les commandes gcloud et gsutil sous ce compte

gcloud auth activate-service-account --key-file=[SERVICE_ACCOUNT_KEY_FILE]

Poste de travail d'administrateur

Se connecter en SSH au poste de travail administrateur

Depuis le répertoire contenant vos fichiers de configuration Terraform :

ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

Ou, si vous souhaitez simplement utiliser son adresse :

ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]

Copier des fichiers sur un poste de travail administrateur

scp -i ~./ssh/vsphere_workstation [SOURCE_PATH] ubuntu@$(terraform output ip_address)

Comportement de journalisation par défaut

Pour gkectl et gkeadm, l'utilisation des paramètres de journalisation par défaut est suffisante :

  • Par défaut, les entrées de journal sont enregistrées comme suit :

    • Pour gkectl, le fichier journal par défaut est /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log, et le fichier est lié symboliquement au fichier logs/gkectl-$(date).log dans le répertoire local où vous exécutez gkectl.
    • Pour gkeadm, le fichier journal par défaut est logs/gkeadm-$(date).log dans le répertoire local où vous exécutez gkeadm.
  • Toutes les entrées de journal sont enregistrées dans le fichier journal, même si elles ne sont pas affichées sur le terminal (lorsque --alsologtostderr a la valeur false).
  • Le niveau de verbosité -v5 (par défaut) couvre toutes les entrées de journal requises par l'équipe d'assistance.
  • Le fichier journal contient également la commande exécutée et le message d'échec.

Nous vous recommandons d'envoyer le fichier journal à l'équipe d'assistance lorsque vous avez besoin d'aide.

Spécifier un emplacement autre que celui par défaut pour le fichier journal

Pour spécifier un emplacement autre que celui par défaut pour le fichier journal gkectl, utilisez l'option --log_file. Le fichier journal que vous spécifiez ne sera pas lié symboliquement au répertoire local.

Pour spécifier un emplacement autre que celui par défaut pour le fichier journal gkeadm, utilisez l'option --log_file.

Localiser les journaux de l'API Cluster dans le cluster d'administrateur

Si une VM ne démarre pas après le démarrage du plan de contrôle d'administrateur, vous pouvez essayer de la déboguer en inspectant les journaux des contrôleurs de l'API Cluster dans le cluster d'administrateur :

  1. Recherchez le nom du pod des contrôleurs d'API Cluster dans l'espace de noms kube-system, où [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig du cluster d'administrateur :

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Ouvrez les journaux du pod, où [POD_NAME] correspond au nom du pod. Vous pouvez éventuellement utiliser grep ou un outil similaire pour rechercher les erreurs :

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager

Clusters

Obtenir les adresses IP des nœuds d'un cluster d'administrateur

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide

Obtenir les adresses IP des nœuds d'un cluster d'utilisateur

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide

Se connecter en SSH aux nœuds d'un cluster

Consultez la section Se connecter à un nœud de cluster via SSH.

Étapes suivantes