Informationen zu kubeconfig

Diese Seite richtet sich an IT-Administratoren und ‑Betreiber, die Cloud-Infrastrukturen einrichten, überwachen und verwalten möchten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.

Kubernetes-Konfigurationsdatei

Kubernetes verwendet eine YAML-Datei namens kubeconfig, um Informationen zur Clusterauthentifizierung für kubectl zu speichern. kubeconfig enthält eine Liste von Kontexten, auf die kubectl beim Ausführen von Befehlen verweist. Standardmäßig wird die Datei unter $HOME/.kube/config gespeichert.

Ein Kontext ist eine Gruppe von Zugriffsparametern. Jeder Kontext enthält einen Kubernetes-Cluster, einen Nutzer und einen Namespace. Der aktuelle Kontext ist der Cluster, der derzeit als Standard für kubectl gilt: alle kubectl-Befehle werden über diesen Cluster ausgeführt.

Nachdem Sie einen Cluster erstellt haben, folgen Sie der Anleitung unter kubeconfig-Eintrag generieren, um den Kontext des Clusters Ihrer lokalen kubeconfig hinzuzufügen.

Private Endpunkte

Alle Cluster haben einen kanonischen Endpunkt. Der Endpunkt macht den Kubernetes API-Server verfügbar, der kubectl und andere Dienste zur Kommunikation mit der Steuerungsebene des Clusters über TCP-Port 443 verwenden. In AWS ist dieser Endpunkt ein DNS-Name, der nur innerhalb des Clusters aufgelöst werden kann. Beispiel: gke-abcdefghijk-cp-ffabcdef123456.elb.us-west-1.amazonaws.com. Dieser Endpunkt ist im öffentlichen Internet nicht zugänglich. Sie können die Adresse des privaten Cluster-Endpunkts aus dem Feld endpoint in der Ausgabe des Befehls gcloud container aws clusters describe abrufen.

Connect Gateway-Endpunkt

Standardmäßig generiert der gcloud container aws clusters get-credentials-Befehl ein kubeconfig, das ein Connect Gateway verwendet. Mit dieser kubeconfig verwendet kubectl Connect, das den Traffic dann sicher in Ihrem Namen an den privaten Endpunkt leitet. Wenn Sie ein Connect Gateway verwenden, sieht der Endpunkt eir https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME aus, wobei PROJECT_NUMBER Ihre Projektnummer und CLUSTER_NAME Ihr Clustername ist.

Wenn Sie über Ihre VPC Zugriff auf den privaten Endpunkt des Clusters haben, können Sie eine direkte Verbindung zum privaten Endpunkt herstellen. Verwenden Sie den Befehl gcloud container aws clusters get-credentials --private-endpoint, um eine kubeconfig mit dem privaten Endpunkt zu generieren.

Authentifizierung für kubectl

Alle GKE on AWS-Cluster sind so konfiguriert, dass sie die Identitäten von Google Cloud-Nutzern und -Dienstkonten akzeptieren. Dabei werden die vonkubectl bereitgestellten Anmeldedaten validiert und die mit der Nutzer- oder Dienstkontoidentität verknüpfte E-Mail-Adresse abgerufen. Die Anmeldedaten dieser Konten müssen daher für die Authentifizierung den OAuth-Bereich userinfo.email enthalten.

Wenn Sie gcloud zum Einrichten der kubeconfig Ihrer Umgebung für einen neuen oder einen bestehenden Cluster verwenden, weist gcloud kubectl die gleichen Anmeldedaten wie für gcloud zu. Wenn Sie beispielsweise gcloud auth login verwenden, werden kubectl Ihre persönlichen Anmeldedaten einschließlich des Bereichs userinfo.email bereitgestellt. Dadurch kann GKE on AWS den kubectl-Client authentifizieren.

Authentifizierte Nutzer oder Google Cloud Dienstkonten müssen außerdem autorisiert werden, um Aktionen an einem GKE on AWS-Cluster ausführen zu können. Der Clusteradministrator ist für die Einrichtung der entsprechenden rollenbasierten Zugriffssteuerung verantwortlich, um die Autorisierung zu konfigurieren.