GKE On-Prem-Cheatsheet

Dieses Thema bietet eine Übersicht über Befehle, die bei der lokalen Verwendung von GKE On-Premaufgerufen werden. Es dient der Vereinfachung und ergänzt die GKE-On-Premise-Dokumentation.

Flags in eckigen Klammern sind optional. Placeholder variables sind änderbar.

kubectl-Befehle

Siehe auch das kubectl-Cheatsheet.

kubeconfig-Standarddatei festlegen

export KUBECONFIG=[KUBECONFIG_PATH]

Cluster aus der kubeconfig-Standarddatei auflisten

kubectl get clusters

Übergeben Sie --kubeconfig [KUBECONFIG_PATH], um Cluster in einer nicht standardmäßigen kubeconfig-Datei aufzurufen.

Knoten im Cluster aus der kubeconfig-Standarddatei auflisten

kubectl get nodes

Übergeben Sie --kubeconfig [KUBECONFIG_PATH], um Cluster in einer nicht standardmäßigen kubeconfig-Datei aufzurufen.

Alle Container in allen Namespaces auflisten

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

Befehle gkectl

Siehe auch gkectlReferenz.

Clusterprobleme mit gkectl diagnostizieren

Verwenden Sie gkectl diagnose-Befehle, um Clusterprobleme zu identifizieren und Clusterinformationen an Google zu senden. Siehe Clusterprobleme diagnostizieren.

gkectl-Befehle umfassend ausführen

-v5

Logging von gkectl-Fehlern in stderr

--alsologtostderr

GKE On-Prem-Konfigurationsdatei generieren

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

Konfigurationsdatei validieren

gkectl check-config --config [PATH]

GKE On-Prem-Images an Docker-Registry übertragen und Knotenbetriebssystem-Image initialisieren

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

Cluster erstellen

gkectl create cluster --config [CONFIG_FILE]

Google Cloud-Dienstkonten

Dienstkonto erstellen

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

Dienstkonto eine IAM-Rolle zuweisen

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

Privaten Schlüssel für ein Dienstkonto erstellen

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

Dienstkonto aktivieren und gcloud-, gsutil-Befehle als Konto ausführen

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

Administrator-Workstation

SSH-Verbindung zur Administratorworkstation herstellen

Aus dem Verzeichnis, das Ihre Terraform-Konfigurationsdateien enthält:

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

oder, wenn Sie nur die Adresse verwenden möchten:

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

Dateien auf eine Administrator-Workstation kopieren

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

gkectl-Logs auf der Administratorworkstation suchen

Auch wenn Sie nicht die Debugging-Flags übergeben, können Sie gkectl-Logs im folgenden Verzeichnis der Administrator-Workstation aufrufen:

/home/ubuntu/.config/gke-on-prem/logs

Cluster-API-Logs im Administratorcluster suchen

Wenn eine VM nach dem Start der Administrator-Steuerungsebene nicht gestartet wird, versuchen Sie, dies durch Untersuchen der Logs der Cluster-API-Controller im Administratorcluster zu beheben:

  1. Suchen Sie im Namespace kube-system den Namen des Cluster-API-Controller-Pods, wobei [ADMIN_CLUSTER_KUBECONFIG] der Pfad zur kubeconfig-Datei des Administratorclusters ist:

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. Öffnen Sie die Logs des Pods, wobei [POD_NAME] der Name des Pods ist. Verwenden Sie optional für die Fehlersuche grep oder ein ähnliches Tool:

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

Cluster

IP-Adressen der Knoten eines Administratorclusters abrufen

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

IP-Adressen der Knoten eines Nutzerclusters abrufen

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

SSH-Verbindung zu Clusterknoten herstellen

Siehe SSH zum Herstellen einer Verbindung zu einem Clusterknoten verwenden.

Nächste Schritte