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-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 aus wie
https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME,
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 Nutzern und Dienstkonten akzeptieren. Dabei werden die von Google Cloud
bereitgestellten Anmeldedaten validiert und die mit der Nutzer- oder Dienstkontoidentität verknüpfte E-Mail-Adresse abgerufen.
kubectl 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 Ihre persönlichen Anmeldedaten einschließlich des Bereichs userinfo.email bereitgestellt.
kubectl Der GKE on AWS-Cluster kann dadurch 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 rollenbasierte Zugriffssteuerung verantwortlich, um die Autorisierung zu konfigurieren.