Clusterzugriff für „kubectl“ konfigurieren

Auf dieser Seite wird erläutert, wie Sie den Clusterzugriff für das kubectl-Befehlszeilentool für GKE on Azure konfigurieren.

Überblick

Für den Zugriff auf GKE in Azure müssen Sie kubectl konfigurieren. Sie können einen Standardcluster für kubectl festlegen, wenn Sie den aktuellen Kontext in der Kubernetes-Datei kubeconfig festlegen. Außerdem können Sie mit dem Flag --cluster kubectl-Befehle für einen bestimmten Cluster ausführen.

Weitere Informationen zu kubeconfig und Cluster-Endpunkten finden Sie unter Über Kubeconfig.

Hinweise

Wenn Sie das Connect-Gateway für den kubectl-Zugriff verwenden, müssen Sie Administratoren, die keine Projektinhaber sind, die unter kubectl mit Identität über die gcloud CLI verwenden beschriebenen IAM-Rollen gewähren.

Aktuelle kubeconfig-Datei prüfen

In diesem Abschnitt wird erläutert, wie Sie Ihre aktuelle kubeconfig prüfen können.

kubeconfig-Kontexte ansehen

Führen Sie den folgenden Befehl aus, um die kubeconfig Ihrer Umgebung und alle darin enthaltenen Kontexte aufzurufen:

kubectl config view

Der Befehl gibt eine Liste aller Cluster zurück, für die Einträge in kubeconfig generiert wurden. Wenn ein GKE on Azure-Cluster aufgeführt ist, können Sie dafür kubectl-Befehle in Ihrer aktuellen Umgebung ausführen. Andernfalls müssen Sie für den Cluster einen Eintrag in kubeconfig generieren.

Aktuellen Kontext für kubectl ansehen

Führen Sie folgenden Befehl aus, um den aktuellen Kontext aufzurufen, den das kubectl-Befehlszeilentool verwendet:

kubectl config current-context

kubectl gibt den Namen des aktuellen Kontexts aus.

kubeconfig-Eintrag generieren

Zum Ausführen von kubectl-Befehlen für GKE-Cluster müssen Sie einen kubeconfig-Eintrag generieren. Wie Sie eine kubeconfig generieren, hängt davon ab, wie Sie eine Verbindung zu Ihrem Cluster herstellen möchten. Wir empfehlen die Verwendung des Connect-Gateways. Wenn Sie eine Verbindung über einen privaten Endpunkt herstellen möchten, benötigen Sie eine Verbindung und ein Routing zum Endpunkt der Steuerungsebene in Ihrem Azure Virtual Network. Der kube-apiserver des Clusters ist Teil der Steuerungsebene. Um Anfragen direkt an den privaten Endpunkt zu senden, müssen Sie möglicherweise die Firewallregeln erweitern. Weitere Informationen zum Herstellen einer Verbindung zu Ihrer Steuerungsebene finden Sie unter AWS-Sicherheitsgruppen.

Connect-Gateway

gcloud container azure clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name Ihres Clusters
  • GOOGLE_CLOUD_LOCATION: Google Cloud-Region oder -Zone, in der Ihre GKE in Azure verwaltet wird

Privater Endpunkt

Damit Sie eine Verbindung zum privaten Endpunkt herstellen können, benötigen Sie eine Verbindung zur Steuerungsebene des Clusters. Siehe Verbindung zur Steuerungsebene Ihres Clusters herstellen.

gcloud container azure clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \
  --private-endpoint

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name Ihres Clusters
  • GOOGLE_CLOUD_LOCATION: Google Cloud-Region oder -Zone, in der Ihre GKE in Azure verwaltet wird

Mit mehreren Clustern arbeiten

In diesem Abschnitt wird beschrieben, wie Sie kubectl mit mehreren GKE-Clustern verwenden.

Standardcluster für kubectl-Befehle festlegen

Sie können den aktuellen Kontext für kubectl auf diesen Cluster umstellen. Dazu führen Sie den folgenden Befehl aus.

gcloud container azure clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name Ihres Clusters
  • GOOGLE_CLOUD_LOCATION: Google Cloud-Region oder -Zone, in der Ihre GKE in Azure verwaltet wird

Angenommen Sie haben ein Projekt mit den beiden Clustern cluster-1 und cluster-2. Der aktuelle Kontext ist cluster-2. Führen Sie den folgenden Befehl aus, um den aktuellen Kontext von cluster-2 in cluster-1 zu ändern:

gcloud container azure clusters get-credentials cluster-1 \
  --location GOOGLE_CLOUD_LOCATION

Einzelne kubectl-Befehle für einen bestimmten Cluster ausführen

Sie können einzelne Befehle von kubectl für einen bestimmten Cluster ausführen. Dazu übergeben Sie den Namen des Clusters wie in kubeconfig angegeben als Argument an das Flag --cluster.

Angenommen Sie haben eine Umgebung mit den beiden Clustern cluster-1 und cluster-2, in der der aktuelle Kontext cluster-1 ist. Sie möchten den aktuellen Kontext nicht ändern. Führen Sie den folgenden Befehl aus, um eine Liste der Pod-Objekte in cluster-2 abzurufen, ohne den aktuellen Kontext zu ändern:

kubectl get pod --cluster cluster-2