Ansichten:
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.
Hinweis
Hinweis
Standardmäß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:
  1. Gehen Sie zur Kubernetes Engine-Website.
  2. Klicken Sie in der Liste der Cluster auf den Namen des gewünschten Clusters.
  3. 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:
  1. Gehen Sie zur Kubernetes Engine-Website.
  2. Wählen Sie aus der Liste der Cluster den Cluster aus, für den die Workload-Identität deaktiviert ist.
  3. Unter dem Bereich DETAILS navigieren Sie nach unten zum Abschnitt Sicherheit.
  4. 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.
  5. Klicken Sie auf SAVE CHANGES und warten Sie, bis das Cluster aktualisiert wird.
  6. Sobald der Cluster aktualisiert wurde, wählen Sie jeden Node-Pool auf der Detailseite des Clusters aus.
  7. Für jeden Node-Pool wählen Sie EDIT auf der Detailseite des Node-Pools aus.
  8. Im Edit node pool-Bereich aktivieren Sie das Kontrollkästchen Enable GKE Metadata Server.
  9. Klicken Sie auf Speichern.
Verwendung der Befehlszeile:
gcloud container clusters update <cluster_name> --identity-
namespace=<project_id>.svc.id.goog
Hinweis
Hinweis
Bestehende 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.