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 ClustersGOOGLE_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 ClustersGOOGLE_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 ClustersGOOGLE_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