Auf dieser Seite erfahren Sie, wie Sie die Verschlüsselung von aktiven Daten in Ihren Knoten und Arbeitslasten mithilfe von Confidential Google Kubernetes Engine-Knoten erzwingen. Durch die Erzwingung der Verschlüsselung kann die Sicherheit Ihrer Arbeitslasten erhöht werden.
Diese Seite richtet sich an Sicherheitsexperten, die Sicherheitsmaßnahmen in GKE implementieren. 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.
Machen Sie sich vor dem Lesen dieser Seite mit dem Konzept von Daten in Verwendung vertraut.
Was sind Confidential GKE Nodes?
Sie können Ihre Arbeitslasten mit Confidential GKE Nodes oder dem Modus „Vertraulich“ für Hyperdisk Balanced verschlüsseln.
Confidential GKE Nodes
Confidential GKE Nodes verwendet Compute Engine Confidential VM, um aktive Daten mit hardwarebasierter Speicherverschlüsselung zu schützen. Confidential GKE Nodes unterstützt die folgenden Confidential Computing-Technologien:
- AMD Secure Encrypted Virtualization (SEV)
- AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP)
- Intel Trust Domain Extensions (TDX)
Weitere Informationen zu diesen Technologien und Hilfe bei der Auswahl der optimalen Technologie für Ihre Anforderungen finden Sie unter Confidential VM – Übersicht.
Confidential GKE Nodes ändert nichts an den Sicherheitsmaßnahmen, die GKE auf Cluster-Steuerungsebenen anwendet. Weitere Informationen zu diesen Maßnahmen finden Sie unter Sicherheit der Steuerungsebene. Wenn Sie sehen möchten, wer auf die Steuerungsebenen in Ihren Google Cloud-Projekten zugreift, verwenden Sie Access Transparency.
Sie können Confidential GKE Nodes für ganze Cluster, für bestimmte Knotenpools oder für bestimmte Arbeitslasten aktivieren. In der folgenden Tabelle werden diese Aktivierungsmethoden beschrieben:
Einstellung „Confidential GKE Nodes“ | Beschreibung | Verhalten |
---|---|---|
Arbeitslastniveau | Konfigurieren Sie Confidential GKE Nodes in einer ComputeClass und wählen Sie diese ComputeClass dann in einer Arbeitslast aus. GKE erstellt Knoten, die diese Konfiguration verwenden, um Ihre Pods auszuführen. | Die Arbeitslasteinstellung unterstützt alle der folgenden Confidential Computing-Technologien, unabhängig vom Clustermodus oder vom Typ des Knotenpools:
|
Clusterebene | Diese Einstellung kann nicht rückgängig gemacht werden.
Aktivieren Sie Confidential GKE Nodes, wenn Sie einen neuen Autopilot- oder Standardcluster erstellen. Alle Knoten im Cluster verwenden Confidential GKE Nodes. Sie können die Clustereinstellung nicht für einzelne Knotenpools oder Arbeitslasten überschreiben. |
Die unterstützten Technologien auf Clusterebene hängen vom Betriebsmodus des Clusters ab:
|
Knotenpoolebene | Sie können Confidential GKE Nodes aktivieren, wenn Sie einen neuen Knotenpool in einem Standardcluster erstellen. Sie können diese Methode nur verwenden, wenn Confidential GKE Nodes auf Clusterebene deaktiviert ist. | Die unterstützten Technologien auf Knotenpoolebene hängen davon ab, ob für den Knotenpool die automatische Knotenbereitstellung verwendet wird:
|
Vertraulicher Modus für Hyperdisk Balanced
Sie können auch den vertraulichen Modus für Hyperdisk Balanced für Ihren Bootlaufwerkspeicher aktivieren. Dadurch werden Ihre Daten in zusätzlichen hardwaregestützten Enklaven verschlüsselt.
Sie können den Modus „Vertraulich“ für Hyperdisk Balanced aktivieren, wenn Sie einen der folgenden Schritte ausführen:
- Neuen Cluster erstellen
- Neuen Knotenpool erstellen
Sie können einen vorhandenen Cluster oder Knotenpool nicht aktualisieren, um die Einstellung für den Modus „Vertraulich“ für Hyperdisk Balanced zu ändern.
Die folgende Tabelle zeigt das GKE-Verhalten, das gilt, wenn Sie den vertraulichen Modus für die Einstellung „Hyperdisk Balanced“ auf Cluster- oder Knotenpoolebene aktivieren:
Einstellung für den vertraulichen Modus für Hyperdisk Balanced | Konfiguration | Verhalten |
---|---|---|
Clusterebene | Neuen Cluster erstellen | Nur der Standardknotenpool im Cluster verwendet die Einstellung „Vertraulicher Modus für Hyperdisk Balanced“. Folgendes ist nicht möglich:
|
Knotenpoolebene | Neuen Knotenpool erstellen | Sie können die Einstellung „Vertraulicher Modus für Hyperdisk Balanced“ für alle neuen Knotenpools bei der Erstellung konfigurieren. Sie können vorhandene Knotenpools nicht aktualisieren, um die Einstellung „Vertraulicher Modus für Hyperdisk Balanced“ zu verwenden. |
Preise
Je nachdem, wie Sie Confidential GKE Nodes konfigurieren, gelten die folgenden Preise:
Preise für Confidential GKE Nodes | |
---|---|
Arbeitslast | Bei Autopilot-Arbeitslasten fallen beide der folgenden Kosten an:
Bei Standardarbeitslasten fallen beide der folgenden Kosten an:
|
Clusterebene | In Autopilot-Clustern fallen beide der folgenden Kosten an:
In Standardclustern fallen beide der folgenden Kosten an:
|
Knotenpoolebene | In Standard-Knotenpools fallen die folgenden Kosten an:
|
Außerdem können Confidential GKE Nodes beim Start etwas mehr Logdaten generieren als Knoten, die keine Confidential GKE Nodes sind. Weitere Informationen zu den Logpreisen finden Sie unter Preise für Google Cloud Observability.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl
gcloud components update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Voraussetzungen
Für Confidential GKE Nodes gelten die folgenden Anforderungen:
- Autopilot-Cluster müssen die GKE-Version 1.30.2 oder höher ausführen.
Auf Standardclustern muss je nach der von Ihnen ausgewählten Confidential Computing-Technologie eine der folgenden GKE-Versionen ausgeführt werden:
- AMD SEV: Beliebige GKE-Version.
- AMD SEV-SNP: 1.32.2-gke.1297000 oder höher
- Intel TDX: 1.32.2-gke.1297000 oder höher.
Damit Sie Confidential GKE Nodes auf Arbeitslast-Ebene aktivieren können, müssen Autopilot- und Standardcluster die GKE-Version 1.33.3-gke.1392000 oder höher ausführen.
Für Knoten muss ein Maschinentyp verwendet werden, der die von Ihnen ausgewählte Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.
Die Steuerungsebenen und Knoten des Clusters müssen sich an einem Standort befinden, der die von Ihnen ausgewählte Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
Confidential GKE Nodes auf Arbeitslastebene konfigurieren
Wenn Sie Confidential GKE Nodes für einzelne Arbeitslasten aktivieren möchten, verwenden Sie eine ComputeClass. ComputeClasses sind benutzerdefinierte Kubernetes-Ressourcen, mit denen Sie die Attribute neuer Knoten definieren können, die von GKE erstellt werden. Außerdem können Sie das Fallback-Verhalten steuern, wenn keine Hardware verfügbar ist. ComputeClasses unterstützen alle verfügbaren Confidential Computing-Technologien für GKE, auch wenn eine bestimmte Technologie auf Cluster- oder Knotenpoolebene nicht unterstützt wird.
So konfigurieren Sie Confidential GKE Nodes auf Arbeitslast-Ebene:
Optional: Aktivieren Sie für GKE-Standardcluster die automatische Knotenbereitstellung für den Cluster. Überspringen Sie diesen Schritt bei Autopilot-Clustern.
Wenn Sie Compute-Klassen nur mit manuell erstellten Knotenpools verwenden möchten, müssen Sie auch Knotenmarkierungen und Knotenlabels manuell konfigurieren. Diese zusätzliche manuelle Konfiguration kann dazu führen, dass Sie weniger Vorteile durch die Verwendung einer ComputeClass zum Erstellen von Confidential GKE Nodes haben.
Speichern Sie das folgende ComputeClass-Manifest als YAML-Datei. Weitere Informationen zu den unterstützten Feldern und Werten für ComputeClasses finden Sie in der ComputeClass CustomResourceDefinition.
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTE_CLASS spec: nodePoolConfig: confidentialNodeType: CONFIDENTIAL_COMPUTE_TECHNOLOGY nodePoolAutoCreation: enabled: true activeMigration: optimizeRulePriority: true priorityDefaults: location: zones: ['ZONE1','ZONE2'] priorities: - machineFamily: MACHINE_SERIES - machineType: MACHINE_TYPE whenUnsatisfiable: DoNotScaleUp
Ersetzen Sie Folgendes:
COMPUTE_CLASS
: Ein Name für die neue Compute-Klasse.CONFIDENTIAL_COMPUTE_TECHNOLOGY
: Die zu verwendende Confidential Computing-Technologie. Folgende Werte werden unterstützt:SEV
für AMD SEVSEV_SNP
für AMD SEV-SNPTDX
für Intel TDX
ZONE1,ZONE2,...
: Die Zonen, in denen Knoten erstellt werden sollen, z. B.['us-central1-a','us-central1-b']
. Geben Sie Zonen an, die die von Ihnen angegebene Confidential Computing-Technologie unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.MACHINE_SERIES
: Die Maschinenserie für die Knoten, z. B.n2d
. Geben Sie eine Maschinenserie an, die die von Ihnen angegebene Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.MACHINE_TYPE
: der Maschinentyp für die Knoten, z. B.n2d-standard-4
. Geben Sie einen Maschinentyp an, der die von Ihnen angegebene Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie unter Maschinentypen, CPUs und Zonen.
Dieses Manifest enthält das Feld
spec.nodePoolAutoCreation
mit dem Wertenabled: true
. Dadurch kann GKE neue Knotenpools mithilfe der automatischen Knotenbereitstellung erstellen.Erstellen Sie die ComputeClass in Ihrem Cluster:
kubectl apply -f PATH_TO_COMPUTE_CLASS_MANIFEST
Ersetzen Sie
PATH_TO_COMPUTE_CLASS_MANIFEST
durch den Pfad zur ComputeClass-Manifestdatei.Speichern Sie das folgende Deployment-Manifest als YAML-Datei:
Erstellen Sie das Deployment:
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFEST
Ersetzen Sie
PATH_TO_DEPLOYMENT_MANIFEST
durch den Pfad zur Deployment-Manifestdatei.
Neue Knoten, die von GKE für diese Arbeitslast erstellt werden, verwenden die von Ihnen angegebene Confidential Computing-Technologie. Diese Knoten werden in einer der von Ihnen ausgewählten Zonen auf einem Maschinentyp ausgeführt, den Sie in der ComputeClass definiert haben. GKE fügt Knotenmarkierungen und Knotenlabels hinzu, damit nur Pods, die dieselbe ComputeClass auswählen, auf den Knoten ausgeführt werden können.
Confidential GKE Nodes auf Clusterebene konfigurieren
Sie können Confidential GKE Nodes für einen gesamten Autopilot- oder Standardcluster aktivieren. Das bedeutet, dass jeder Knoten in den Clustern Confidential GKE Nodes verwendet. Daher werden alle Arbeitslasten, die Sie in diesem Cluster bereitstellen, auf Confidential GKE Nodes ausgeführt. Sie können die Clustereinstellung nicht in einzelnen Arbeitslasten oder Knotenpools überschreiben.
Neuen Autopilot-Cluster erstellen
Autopilot-Cluster unterstützen nur AMD SEV auf Clusterebene. Wenn Sie Confidential GKE Nodes aktivieren, ändert sich die Standardmaschinenreihe im Autopilot-Cluster in N2D. Alle Ihre Arbeitslasten werden auf diesen vertraulichen Knoten ausgeführt, ohne dass Sie Ihre Arbeitslastmanifeste ändern müssen.
Führen Sie dazu diesen Befehl aus:
gcloud container clusters create-auto CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-confidential-nodes
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name des Autopilot-Clusters.CONTROL_PLANE_LOCATION
: Die Compute Engine-Region für die Cluster-Steuerungsebene, z. B.us-central1
.
Auf dem Cluster muss Version 1.30.2 oder höher ausgeführt werden. Weitere Informationen finden Sie unter Autopilot-Cluster mit einem bestimmten Release-Channel und einer bestimmten Version erstellen.
Neuen Standardcluster erstellen
Wenn Sie einen Standardcluster erstellen, können Sie eine Confidential Computing-Technologie für Ihre Knoten angeben. Die Angabe der Technologie beim Erstellen eines Clusters hat folgende Auswirkungen:
- In diesem Cluster können Sie nur Knotenpools oder Arbeitslasten erstellen, die Confidential GKE Nodes verwenden.
- Sie können den Cluster nicht aktualisieren, um Confidential GKE Nodes zu deaktivieren.
- Sie können die Confidential Computing-Technologie auf Clusterebene nicht in einzelnen Knotenpools oder Arbeitslasten überschreiben.
Die Konfiguration einer Confidential Computing-Einstellung auf Clusterebene ist dauerhaft. Berücksichtigen Sie daher die folgenden Anwendungsfälle, bevor Sie Ihren Cluster erstellen:
- Wenn Sie die automatische Knotenbereitstellung in Ihrem Cluster verwenden möchten, müssen Sie bestimmte Optionen im Befehl zum Erstellen des Clusters konfigurieren. Weitere Informationen finden Sie im Abschnitt Confidential GKE Nodes mit automatischer Knotenbereitstellung verwenden.
- Wenn Sie verschiedene Confidential Computing-Technologien verwenden möchten, um bestimmte Knotenpools im Cluster zu verschlüsseln, überspringen Sie diesen Abschnitt und konfigurieren Sie Confidential GKE Nodes auf Knotenpoolebene.
Wählen Sie eine der folgenden Optionen aus, um einen Cluster im Standardmodus zu erstellen, der Confidential GKE Nodes verwendet:
gcloud
Geben Sie beim Erstellen eines neuen Clusters die Option --confidential-node-type
in der gcloud CLI an:
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--machine-type=MACHINE_TYPE \
--node-locations=ZONE1,ZONE2,... \
--confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.LOCATION
: Der Compute Engine-Standort für die Cluster-Steuerungsebene. Der Standort muss die von Ihnen angegebene Confidential Computing-Technologie unterstützen. Weitere Informationen finden Sie im Abschnitt Verfügbarkeit.MACHINE_TYPE
: ein Maschinentyp, der die von Ihnen angegebene Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie im Abschnitt Verfügbarkeit.ZONE1,ZONE2,...
: Eine durch Kommas getrennte Liste von Zonen in der Region der Steuerungsebene, die die neue Confidential Computing-Technologie unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.CONFIDENTIAL_COMPUTE_TECHNOLOGY
: Die zu verwendende Confidential Computing-Technologie. Folgende Werte werden unterstützt:sev
: AMD SEVsev_snp
: AMD SEV-SNPtdx
: Intel TDX
Sie können das Flag --enable-confidential-nodes
auch in Ihrem Befehl zum Erstellen des Clusters verwenden. Wenn Sie in Ihrem Befehl nur dieses Flag angeben, verwendet der Cluster AMD SEV. Der im Befehl angegebene Maschinentyp muss AMD SEV unterstützen. Wenn Sie jedoch das Flag --confidential-node-type
im selben Befehl angeben, verwendet GKE den Wert, den Sie im Flag --confidential-node-type
angeben.
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
Klicken Sie im Navigationsmenü im Bereich Cluster auf Sicherheit.
Klicken Sie auf das Kästchen Confidential GKE Nodes aktivieren.
Klicken Sie im Dialogfeld Änderungen erforderlich auf Änderungen vornehmen.
Wählen Sie im Menü Typ die Confidential Computing-Technologie aus, die Sie verwenden möchten.
Wenn für die ausgewählte Technologie eine bestimmte Compute Engine-Maschinenserie erforderlich ist, wird ein Dialogfeld angezeigt. Klicken Sie auf Änderungen vornehmen, um die Maschinenserie für den Knotenpool zu aktualisieren.
Klicken Sie im Navigationsmenü im Abschnitt Knotenpools auf default-pool.
Führen Sie im Bereich Knotenpooldetails die folgenden Schritte aus:
- Klicken Sie das Kästchen Knotenstandorte angeben an. Eine Liste der Zonen in der Region des Clusters wird angezeigt.
- Setzen Sie ein Häkchen bei den Zonen, die die Confidential Computing-Technologie unterstützen, die Sie für die Knoten ausgewählt haben. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
Klicken Sie auf Erstellen.
Weitere Informationen zum Erstellen von Clustern finden Sie unter Regionalen Cluster erstellen.
Bei Knotenpools, die mit der Einstellung „Vertraulicher Modus für Hyperdisk Balanced“ erstellt wurden, sind nur die Knoten im Knotenpool auf die Einrichtungskonfiguration beschränkt. Für alle neuen Knotenpools, die im Cluster erstellt werden, müssen Sie den vertraulichen Modus bei der Erstellung einrichten.
Automatische Knotenbereitstellung konfigurieren
Sie können die automatische Knotenbereitstellung so konfigurieren, dass Confidential GKE Nodes in automatisch bereitgestellten Knotenpools verwendet werden. Das automatische Bereitstellen von Knoten unterstützt die folgenden Confidential Computing-Technologien:
- AMD SEV
- AMD SEV-SNP
Wenn Sie Confidential GKE Nodes mit der automatischen Knotenbereitstellung verwenden möchten, geben Sie beim Erstellen eines Clusters das gcloud CLI-Flag --enable-confidential-nodes
an. Weitere Überlegungen:
- Wenn Sie den Cluster erstellen, wählen Sie eine Confidential Computing-Technologie aus, die von der automatischen Knotenbereitstellung unterstützt wird. Diese Auswahl ist auf Clusterebene endgültig.
- Wenn Sie die automatische Knotenbereitstellung für einen vorhandenen Cluster aktivieren, muss der Cluster bereits eine Confidential GKE Nodes-Technologie verwenden, die von der automatischen Knotenbereitstellung unterstützt wird.
- Prüfen Sie beim Bereitstellen von Arbeitslasten, ob die Arbeitslasten die Confidential Computing-Technologie des Clusters und eine für diese Technologie kompatible Maschinenserie auswählen.
Confidential GKE Nodes auf Knotenpoolebene konfigurieren
Sie können Confidential GKE Nodes in bestimmten Knotenpools aktivieren, wenn Confidential GKE Nodes auf Clusterebene deaktiviert ist.
Der Modus „Vertraulich“ für Hyperdisk Balanced muss in der Anfrage zum Erstellen des Knotenpools angegeben werden.
Neuen Knotenpool erstellen
Wählen Sie eine der folgenden Optionen aus, um einen neuen Knotenpool mit aktivierten Confidential GKE Nodes zu erstellen:
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container node-pools create NODE_POOL_NAME \
--location=LOCATION \
--cluster=CLUSTER_NAME \
--machine-type=MACHINE_TYPE \
--node-locations=ZONE1,ZONE2,... \
--confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY
Ersetzen Sie Folgendes:
NODE_POOL_NAME
ist der Name des neuen Knotenpools.LOCATION
: Der Standort für den neuen Knotenpool. Der Standort muss die von Ihnen angegebene Confidential Computing-Technologie unterstützen. Weitere Informationen finden Sie im Abschnitt Verfügbarkeit.CLUSTER_NAME
: Der Name Ihres Clusters.MACHINE_TYPE
: ein Maschinentyp, der die von Ihnen angegebene Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie im Abschnitt Verfügbarkeit.ZONE1,ZONE2,...
: Eine durch Kommas getrennte Liste von Zonen in der Clusterregion, die die neue Technologie „Confidential Computing“ unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.CONFIDENTIAL_COMPUTE_TECHNOLOGY
: Die zu verwendende Confidential Computing-Technologie. Folgende Werte werden unterstützt:sev
: AMD SEVsev_snp
: AMD SEV-SNPtdx
: Intel TDX
Sie können das Flag --enable-confidential-nodes
auch in Ihrem Befehl zum Erstellen des Clusters verwenden. Wenn Sie in Ihrem Befehl nur dieses Flag angeben, verwendet der Cluster AMD SEV. Der im Befehl angegebene Maschinentyp muss AMD SEV unterstützen. Wenn Sie jedoch das Flag --confidential-node-type
im selben Befehl angeben, verwendet GKE den Wert, den Sie im Flag --confidential-node-type
angeben.
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf:
Klicken Sie auf den Namen Ihres Standard-Clusters.
Klicken Sie auf Knotenpool hinzufügen
.Klicken Sie im Navigationsmenü auf Sicherheit.
Führen Sie im Bereich Knotensicherheit die folgenden Schritte aus:
- Klicken Sie auf das Kästchen Confidential GKE Nodes aktivieren.
- Klicken Sie im Dialogfeld Änderungen erforderlich auf Änderungen vornehmen.
Wählen Sie im Menü Typ die Confidential Computing-Technologie aus, die Sie verwenden möchten.
Wenn für die ausgewählte Technologie eine bestimmte Compute Engine-Maschinenserie erforderlich ist, wird ein Dialogfeld angezeigt. Klicken Sie auf Änderungen vornehmen, um die Maschinenserie für den Knotenpool zu aktualisieren.
Klicken Sie im Navigationsmenü auf Knotenpooldetails.
Führen Sie im Bereich Knotenpooldetails die folgenden Schritte aus:
- Klicken Sie das Kästchen Knotenstandorte angeben an. Eine Liste der Zonen in der Region des Clusters wird angezeigt.
- Setzen Sie ein Häkchen bei den Zonen, die die Confidential Computing-Technologie unterstützen, die Sie für die Knoten ausgewählt haben. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
Optional: Konfigurieren Sie weitere Einstellungen für den Knotenpool.
Klicken Sie auf Erstellen.
Vorhandenen Knotenpool aktualisieren
Für diese Änderung müssen die Knoten neu erstellt werden, was zu Unterbrechungen Ihrer laufenden Arbeitslasten führen kann. Details zu dieser spezifischen Änderung finden Sie in der entsprechenden Zeile in der Tabelle Manuelle Änderungen, die die Knoten mithilfe einer Knotenupgrade-Strategie neu erstellen, ohne Wartungsrichtlinien zu berücksichtigen. Weitere Informationen zu Knotenupdates finden Sie unter Unterbrechungen durch Knotenupdates planen.
Sie können vorhandene Knotenpools aktualisieren, um Confidential GKE Nodes zu verwenden oder die Confidential Computing-Technologie zu ändern, die von den Knoten verwendet wird. Der Knotenpool muss alle folgenden Anforderungen erfüllen:
- Die Knoten verwenden einen Maschinentyp, der die ausgewählte Confidential Computing-Technologie unterstützt.
- Die Knoten werden in Zonen ausgeführt, die die ausgewählte Confidential Computing-Technologie unterstützen.
Da der Maschinentyp und die Standortverfügbarkeit je nach Confidential Computing-Technologie variieren können, müssen Sie diese Attribute für Ihren Knotenpool möglicherweise aktualisieren, bevor Sie eine bestimmte Confidential Computing-Technologie aktivieren.
Wenn Sie einen vorhandenen Knotenpool für die Verwendung von Confidential GKE Nodes aktualisieren möchten, wählen Sie eine der folgenden Optionen aus:
gcloud
Mit der gcloud CLI können Sie Confidential GKE Nodes in einem Knotenpool aktivieren oder die Confidential Computing-Technologie der Knoten ändern.
- Wenn der Knotenpool bereits Confidential GKE Nodes verwendet, deaktivieren Sie Confidential GKE Nodes. Warten Sie, bis die Aktualisierung des Knotenpools abgeschlossen ist.
Ändern Sie den Maschinentyp des Knotenpools und die Knotenstandorte in unterstützte Werte für die neue Confidential Computing-Technologie:
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --location=CLUSTER_LOCATION \ --machine-type=MACHINE_TYPE \ --node-locations=ZONE1,ZONE2,...
Ersetzen Sie Folgendes:
NODE_POOL_NAME
: Der Name des vorhandenen Knotenpools.CLUSTER_NAME
ist der Name des Clusters.CLUSTER_LOCATION
: Der Standort des Clusters.MACHINE_TYPE
: ein Maschinentyp, der die neue Confidential Computing-Technologie unterstützt. Weitere Informationen finden Sie im Abschnitt Verfügbarkeit.ZONE1,ZONE2,...
: Eine durch Kommas getrennte Liste von Zonen in der Clusterregion, die die neue Technologie „Confidential Computing“ unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
Aktualisieren Sie den Knotenpool mit der zu verwendenden Confidential Computing-Technologie:
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --location=CLUSTER_LOCATION \ --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY
Ersetzen Sie
CONFIDENTIAL_COMPUTE_TECHNOLOGY
durch die zu verwendende Confidential Computing-Technologie. Folgende Werte werden unterstützt:sev
: AMD SEVsev_snp
: AMD SEV-SNPtdx
: Intel TDX
Console
Sie können einen vorhandenen Knotenpool so aktualisieren, dass er Confidential GKE Nodes verwendet, wenn der Maschinentyp des Knotenpools von der ausgewählten Confidential Computing-Technologie unterstützt wird. Wenn die Knoten keinen unterstützten Maschinentyp verwenden, folgen Sie stattdessen der Anleitung für die gcloud CLI in diesem Abschnitt.
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf:
Klicken Sie auf den Namen Ihres Standard-Clusters.
Klicken Sie auf den Tab Knoten.
Klicken Sie auf den Namen des Knotenpools, den Sie ändern möchten.
Klicken Sie auf der Seite Knotenpooldetails auf
Bearbeiten. Der Bereich Knotenpool bearbeiten wird geöffnet.Prüfen Sie im Bereich Zonen, ob die ausgewählten Zonen Confidential Computing unterstützen. Weitere Informationen finden Sie unter Unterstützte Zonen ansehen.
Wenn eine ausgewählte Zone die Technologie nicht unterstützt, gehen Sie so vor:
- Entfernen Sie das Häkchen aus dem Kästchen für die nicht unterstützte Zone.
- Optional: Klicken Sie die Kästchen für andere unterstützte Zonen an.
- Klicken Sie auf Speichern. Warten Sie, bis das Knotenpoolupdate abgeschlossen ist.
- Klicken Sie auf Bearbeiten, um den Bereich Knotenpool bearbeiten wieder zu öffnen.
Klicken Sie im Bereich Sicherheit das Kästchen Confidential GKE Nodes aktivieren an.
Wählen Sie im Menü Typ die Confidential Computing-Technologie für die Knoten aus.
Klicken Sie auf Speichern.
Arbeitslasten nur in vertraulichen Knotenpools platzieren
Wenn Sie Confidential GKE Nodes auf Clusterebene aktivieren, werden alle Ihre Arbeitslasten auf vertraulichen Knoten ausgeführt. Sie müssen keine Änderungen an Ihren Manifesten vornehmen. Wenn Sie Confidential GKE Nodes jedoch nur für bestimmte Knotenpools im Standardmodus auf Knotenpoolebene aktivieren, sollten Sie deklarieren, dass Ihre Arbeitslasten nur in Knotenpools mit Confidential GKE Nodes ausgeführt werden dürfen.
Wenn eine Arbeitslast auf einer bestimmten Confidential Computing-Technologie ausgeführt werden soll, verwenden Sie eine Knotenauswahl mit dem Label
cloud.google.com/gke-confidential-nodes-instance-type
, wie im folgenden Beispiel:apiVersion: v1 kind: Pod spec: # For readability, lines are omitted from this example manifest nodeSelector: cloud.google.com/gke-confidential-nodes-instance-type: "CONFIDENTIAL_COMPUTE_SELECTOR"
Ersetzen Sie
CONFIDENTIAL_COMPUTE_SELECTOR
durch den Namen der Technologie, die vom Knotenpool verwendet wird. Dieses Feld unterstützt die folgenden Werte, die Sie in Großbuchstaben angeben müssen:SEV
: AMD SEVSEV_SNP
: AMD SEV-SNPTDX
: Intel TDX
Damit eine Arbeitslast auf vertraulichen Knoten unabhängig von der Confidential Computing-Technologie ausgeführt werden kann, verwenden Sie eine Knotenaffinitätsregel, wie im folgenden Beispiel:
apiVersion: v1 kind: Pod spec: containers: - name: confidential-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cloud.google.com/gke-confidential-nodes-instance-type operator: Exists
Wenn eine Arbeitslast auf Knoten ausgeführt werden soll, die nur eine Teilmenge der verfügbaren Confidential Computing-Technologien verwenden, verwenden Sie eine Knotenaffinitätsregel, die dem folgenden Beispiel ähnelt:
apiVersion: v1 kind: Pod spec: containers: - name: confidential-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cloud.google.com/gke-confidential-nodes-instance-type operator: In values: - SEV - SEV_SNP - TDX
Geben Sie im Feld
values
nur die Confidential Computing-Technologien an, auf denen die Arbeitslast ausgeführt werden soll.
Prüfen, ob Confidential GKE Nodes aktiviert ist
Sie können prüfen, ob Ihre Cluster oder Knoten Confidential GKE Nodes verwenden, indem Sie die Cluster, Knotenpools, Knoten oder Compute Engine-Instanzen untersuchen.
Für Cluster bestätigen
Wählen Sie eine der folgenden Optionen aus:
gcloud
Cluster beschreiben:
gcloud container clusters describe CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--format='yaml(confidentialNodes.confidentialInstanceType)'
Wenn Confidential GKE Nodes aktiviert ist, sieht die Ausgabe in etwa so aus:
confidentialNodes:
confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf.
Klicken Sie auf den Namen des Clusters, den Sie prüfen möchten.
Prüfen Sie im Bereich Sicherheit, ob das Feld Confidential GKE Nodes den Wert Aktiviert hat.
Knotenpools überprüfen
Wählen Sie eine der folgenden Optionen aus:
gcloud
Beschreiben Sie den Knotenpool:
gcloud container node-pools describe NODE_POOL_NAME \
--location=CONTROL_PLANE_LOCATION \
--format='yaml(confidentialNodes.confidentialInstanceType,enableConfidentialStorage)'
Wenn Confidential GKE Nodes aktiviert ist, sieht die Ausgabe in etwa so aus:
confidentialNodes:
confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
Wenn auch der vertrauliche Modus für Hyperdisk Balanced aktiviert ist, sieht die Ausgabe in etwa so aus:
confidentialNodes:
confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
enableConfidentialStorage: true
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf.
Klicken Sie auf den Namen des Clusters, den Sie prüfen möchten.
Klicken Sie auf den Namen eines Knotenpools.
Prüfen Sie im Bereich Sicherheit, ob das Feld Confidential GKE Nodes den Wert Aktiviert hat.
Für einen bestimmten Knoten prüfen
Suchen Sie den Knotennamen:
kubectl get nodes
Beschreiben Sie den Knoten:
kubectl describe NODE_NAME
Ersetzen Sie
NODE_NAME
durch den Namen eines Knotens, den Sie prüfen möchten.Die Ausgabe sieht etwa so aus:
Name: gke-cluster-1-default-pool-affsf335r-asdf Roles: <none> Labels: cloud.google.com/gke-boot-disk=pd-balanced cloud.google.com/gke-container-runtime=containerd cloud.google.com/gke-confidential-nodes-instance-type=CONFIDENTIAL_COMPUTE_SELECTOR cloud.google.com/gke-nodepool=default-pool cloud.google.com/gke-os-distribution=cos cloud.google.com/machine-family=e2 # lines omitted for clarity
In dieser Ausgabe gibt das Knotenlabel
cloud.google.com/gke-confidential-nodes-instance-type
an, dass der Knoten ein vertraulicher Knoten ist.
Einschränkungen für Organisationsrichtlinien festlegen
Sie können eine Einschränkung für die Organisationsrichtlinie definieren, um sicherzustellen, dass alle in Ihrer Organisation erstellten VM-Ressourcen vertrauliche VM-Instanzen sind.
Für GKE können Sie die Einschränkung Non-Confidential Computing einschränken anpassen, um zu verlangen, dass alle neuen Cluster mit einer der verfügbaren Confidential Computing-Technologien erstellt werden. Fügen Sie den API-Dienstnamen container.googleapis.com
der Ablehnungsliste hinzu, wenn Sie Einschränkungen für Organisationsrichtlinien erzwingen, wie im folgenden Beispiel:
gcloud resource-manager org-policies deny \
constraints/compute.restrictNonConfidentialComputing compute.googleapis.com container.googleapis.com \
--project=PROJECT_ID
Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
PersistentVolume für den vertraulichen Modus für Hyperdisk Balanced erstellen
Eine Anleitung zu zulässigen Werten für den Durchsatz oder die IOPS finden Sie unter Leistungsniveau für Ihr Hyperdisk-Volume planen.
In den folgenden Beispielen wird gezeigt, wie Sie für jeden Hyperdisk-Typ eine StorageClass für den vertraulichen Modus für Hyperdisk Balanced erstellen können:
Hyperdisk Balanced
Speichern Sie folgendes Manifest in einer Datei mit dem Namen
confidential-hdb-example-class.yaml
:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: balanced-storage provisioner: pd.csi.storage.gke.io volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true parameters: type: hyperdisk-balanced provisioned-throughput-on-create: "250Mi" provisioned-iops-on-create: "7000" enable-confidential-storage: true disk-encryption-kms-key: "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/HSM_KEY_NAME"
Ersetzen Sie Folgendes:
KMS_PROJECT_ID
: das Projekt, dem der Cloud KMS-Schlüssel gehörtREGION
: die Region, in der sich das Laufwerk befindetKEY_RING
: der Name des Schlüsselbunds, der den Schlüssel enthältHSM_KEY_NAME
: der Name des HSM-Schlüssels, mit dem das Laufwerk verschlüsselt wird
StorageClass erstellen:
kubectl create -f hdb-example-class.yaml
Erstellen Sie eine Hyperdisk-Anforderung für ein nichtflüchtiges Volume für GKE, die den Modus „Vertraulich“ für das Hyperdisk Balanced-Volume verwendet.
Führen Sie den folgenden Befehl aus, um den Namen der in Ihrem Cluster verfügbaren StorageClasses zu ermitteln:
kubectl get sc
Beschränkungen
Confidential GKE Nodes unterliegt den folgenden Einschränkungen:
- Für Confidential GKE Nodes gelten alle Einschränkungen von Confidential VM-Instanzen von Compute Engine.
- Confidential GKE Nodes ist nicht mit Knoten für einzelne Mandanten kompatibel.
- Confidential GKE Nodes unterstützt nur die Verwendung von flüchtigem Speicher auf lokalen SSDs, jedoch nicht die Verwendung lokaler SSDs im Allgemeinen.
- Confidential GKE Nodes unterstützt nur Knoten-Images für Container-Optimized OS. Ubuntu- und Windows-Knoten werden nicht unterstützt.
- Autopilot-Cluster unterstützen nur AMD SEV auf Clusterebene. Wenn Sie eine andere Confidential Computing-Technologie verwenden möchten, konfigurieren Sie Confidential GKE Nodes auf Arbeitslastebene.
- Die automatische Knotenbereitstellung unterstützt nur AMD SEV und AMD SEV-SNP auf Knotenpoolebene. Wenn Sie eine andere Confidential Computing-Technologie verwenden möchten, konfigurieren Sie Confidential GKE Nodes auf Arbeitslastebene.
Für den vertraulichen Modus für Hyperdisk Balanced gelten die folgenden Einschränkungen:
- Alle Einschränkungen bei der Verwendung von vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) zum Verschlüsseln von Laufwerken gelten auch für den vertraulichen Modus für Hyperdisk Balanced.
- Der vertrauliche Modus für Hyperdisk Balanced wird nur auf Confidential GKE Nodes unterstützt, die AMD SEV als Confidential Computing-Technologie verwenden.
Einschränkungen der Live-Migration
Compute Engine Confidential VMs, die den N2D-Maschinentyp und AMD SEV als Confidential Computing-Technologie verwenden, unterstützen Live-Migration, durch die die potenzielle Unterbrechung der Arbeitslast durch ein Hostwartungsereignis minimiert wird. Die Live-Migration erfolgt in den folgenden GKE-Versionen:
- 1.27.10-gke.1218000 und höher
- 1.28.6-gke.1393000 und höher
- 1.29.1-gke.1621000 und höher
Wenn auf Ihren Knotenpools bereits eine unterstützte Version ausgeführt wurde, als die Live-Migration hinzugefügt wurde, aktualisieren Sie die Knotenpools manuell auf dieselbe oder eine andere unterstützte Version. Durch das Upgrade der Knoten werden die Knoten neu erstellt und für die neuen Knoten ist die Live-Migration aktiviert.
Weitere Informationen dazu, welche Compute Engine-Maschinentypen die Live-Migration unterstützen, finden Sie unter Unterstützte Konfigurationen.
Wenn auf einem Knoten, der die Live-Migration nicht unterstützt, ein Hostwartungsereignis auftritt, wechselt der Knoten in den Status NotReady
. Wenn Sie Pods ausführen, kommt es zu Unterbrechungen, bis der Knoten wieder bereit ist. Wenn die Wartung mehr als fünf Minuten dauert, versucht GKE möglicherweise, die Pods auf anderen Knoten neu zu erstellen.
Confidential GKE Nodes deaktivieren
Für diese Änderung müssen die Knoten neu erstellt werden, was zu Unterbrechungen Ihrer laufenden Arbeitslasten führen kann. Details zu dieser spezifischen Änderung finden Sie in der entsprechenden Zeile in der Tabelle Manuelle Änderungen, die die Knoten mithilfe einer Knotenupgrade-Strategie neu erstellen, ohne Wartungsrichtlinien zu berücksichtigen. Weitere Informationen zu Knotenupdates finden Sie unter Unterbrechungen durch Knotenupdates planen.
Sie können Confidential GKE Nodes nur in Knotenpools im Standardmodus deaktivieren. Wenn sich der Knotenpool in einem Cluster befindet, der Confidential GKE Nodes auf Clusterebene verwendet, können Sie das Feature nicht auf Knotenpoolebene deaktivieren. Wählen Sie eine der folgenden Optionen aus, um Confidential GKE Nodes zu deaktivieren:
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CLUSTER_LOCATION \
--no-enable-confidential-nodes
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf:
Klicken Sie auf den Namen Ihres Standard-Clusters.
Klicken Sie auf den Tab Knoten.
Klicken Sie auf den Namen des Knotenpools, den Sie ändern möchten.
Klicken Sie auf der Seite Knotenpooldetails auf
Bearbeiten. Der Bereich Knotenpool bearbeiten wird geöffnet.Entfernen Sie im Abschnitt Sicherheit das Häkchen aus dem Kästchen Confidential GKE Nodes aktivieren.
Klicken Sie auf Speichern.
Nächste Schritte
- Weitere Informationen zu Confidential VM
- Weitere Informationen zur Google Cloud Verschlüsselung inaktiver Daten
- Weitere Informationen zur Verschlüsselung während der Übertragung Google Cloud
- Weitere Informationen zu vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK)
- Remote-Attestierung für Arbeitslasten, die auf Confidential VMs ausgeführt werden
- Informationen zum Ausführen von GPUs auf Confidential GKE Nodes