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
sous ce compte
gcloud auth activate-service-account --key-file=[SERVICE_ACCOUNT_KEY_FILE]
Poste de travail 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)
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 fichierlogs/gkectl-$(date).log
dans le répertoire local où vous exécutezgkectl
. - Pour
gkeadm
, le fichier journal par défaut estlogs/gkeadm-$(date).log
dans le répertoire local où vous exécutezgkeadm
.
- Pour
- 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 valeurfalse
). - 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 des 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 :
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
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.