Profilanwendbarkeit: Stufe 2
Das Ausführen des GKE-Metadatenservers verhindert, dass Workloads auf sensible Instanzmetadaten
zugreifen, und erleichtert die Workload-Identität.
Jeder Knoten speichert seine Metadaten auf einem Metadatenserver. Einige dieser Metadaten,
wie kubelet-Anmeldedaten und das Identitätstoken der VM-Instanz, sind sensibel und
sollten nicht für eine Kubernetes-Workload zugänglich sein. Das Aktivieren des GKE-Metadatenservers
verhindert, dass Pods (die nicht im Hostnetzwerk laufen) auf diese Metadaten zugreifen,
und erleichtert die Workload-Identität.
Wenn nicht angegeben, ermöglicht die Standardeinstellung, dass laufende Pods vollen
Zugriff auf den zugrunde liegenden Metadatenserver des Knotens haben.
![]() |
HinweisStandardmäßig haben laufende Pods vollen Zugriff auf den zugrunde liegenden Metadatenserver
des Knotens.
|
Auswirkung
Der GKE-Metadatenserver muss ausgeführt werden, wenn Workload Identity verwendet wird.
Da Workload Identity die Notwendigkeit der Verwendung von Metadatenverschleierung
ersetzt, sind die beiden Ansätze unvereinbar.
Wenn der GKE-Metadatenserver und die Workload-Identität aktiviert sind, können Pods,
sofern sie nicht im Hostnetzwerk ausgeführt werden, das Standarddienstkonto der Compute
Engine nicht verwenden.
Möglicherweise müssen Workloads geändert werden, damit sie die Workload-Identität
verwenden können. Siehe die GKE-Dokumentation für weitere Informationen.
Prüfung
Verwendung der Google Cloud Console:
- Gehen Sie zur Kubernetes Engine-Website.
- Klicken Sie in der Liste der Cluster auf den Namen des gewünschten Clusters.
- Für jeden Knotenpool innerhalb des Clusters öffnen Sie das Details-Fenster und stellen Sie sicher, dass der GKE-Metadatenserver auf
Enabled
eingestellt ist.
Verwendung der Befehlszeile:
Um zu überprüfen, ob der GKE-Metadatenserver für jeden Knotenpool innerhalb eines
Clusters aktiviert ist, führen Sie den folgenden Befehl aus:
gcloud container clusters describe <cluster_name> --zone <cluster_zone> -- format json | jq .nodePools[].config.workloadMetadataConfig
Dies sollte für jeden Knotenpool Folgendes zurückgeben:
{ "mode": "GKE_METADATA" }
Null (
{ }
) wird zurückgegeben, wenn der GKE-Metadatenserver nicht aktiviert ist.Wiederherstellung
Der GKE-Metadatenserver erfordert, dass die Workload-Identität auf einem Cluster aktiviert
ist. Ändern Sie den Cluster, um die Workload-Identität zu aktivieren und den GKE-Metadatenserver
zu aktivieren.
Verwendung der Google Cloud Console:
- Gehen Sie zur Kubernetes Engine-Website.
- Wählen Sie aus der Liste der Cluster den Cluster aus, für den die Workload-Identität deaktiviert ist.
- Unter dem Bereich DETAILS navigieren Sie nach unten zum Abschnitt Sicherheit.
- Klicken Sie auf das Stiftsymbol mit dem Namen Edit Workload Identity, klicken Sie im Popup-Fenster auf Enable Workload Identity und wählen Sie einen Workload-Pool aus der Dropdown-Liste aus. Standardmäßig wird
es der Namespace des Cloud-Projekts sein, das den Cluster enthält, zum Beispiel:
<project_id>.svc.id.goog.
- Klicken Sie auf SAVE CHANGES und warten Sie, bis das Cluster aktualisiert wird.
- Sobald der Cluster aktualisiert wurde, wählen Sie jeden Node-Pool auf der Detailseite des Clusters aus.
- Für jeden Node-Pool wählen Sie EDIT auf der Detailseite des Node-Pools aus.
- Im Edit node pool-Bereich aktivieren Sie das Kontrollkästchen Enable GKE Metadata Server.
- Klicken Sie auf Speichern.
Verwendung der Befehlszeile:
gcloud container clusters update <cluster_name> --identity- namespace=<project_id>.svc.id.goog
![]() |
HinweisBestehende Node-Pools sind nicht betroffen. Neue Node-Pools verwenden standardmäßig
--workload-metadata-from-node=GKE_METADATA_SERVER . |
Um einen bestehenden Node-Pool zu ändern, um den GKE-Metadatenserver zu aktivieren:
gcloud container node-pools update <node_pool_name> --cluster=<cluster_name> --workload-metadata-from-node=GKE_METADATA_SERVER
Möglicherweise müssen Workloads geändert werden, damit sie die Workload-Identität
verwenden können. Siehe die GKE-Dokumentation für weitere Informationen.