Cette page vous explique comment appliquer le chiffrement des données utilisées dans vos nœuds et vos charges de travail à l'aide des nœuds Confidential Google Kubernetes Engine (GKE) Node. L'application du chiffrement peut contribuer à renforcer la sécurité de vos charges de travail.
Cette page s'adresse aux spécialistes de la sécurité qui mettent en œuvre des mesures de sécurité sur GKE. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez Rôles utilisateur et tâches courantes de GKE.
Avant de lire cette page, assurez-vous de connaître le concept de données en cours d'utilisation.
Que sont les nœuds Confidential GKE Node ?
Vous pouvez chiffrer vos charges de travail avec des nœuds Confidential GKE ou le mode confidentiel pour Hyperdisk Balanced.
Nœuds Confidential GKE Node
Les nœuds Confidential GKE Node utilisent les Confidential VMs Compute Engine pour protéger les données en cours d'utilisation grâce au chiffrement de la mémoire basé sur le matériel. Les nœuds Confidential GKE Node sont compatibles avec les technologies Confidential Computing suivantes :
- AMD SEV (Secure Encrypted Virtualization)
- AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging)
- Intel Trust Domain Extensions (TDX)
Pour en savoir plus sur ces technologies et obtenir de l'aide pour choisir celle qui répond le mieux à vos besoins, consultez la présentation de Confidential VM.
Les nœuds Confidential GKE ne modifient pas les mesures de sécurité que GKE applique aux plans de contrôle des clusters. Pour en savoir plus sur ces mesures, consultez Sécurité du plan de contrôle. Pour savoir qui accède aux plans de contrôle dans vos projets Google Cloud, utilisez Access Transparency.
Vous pouvez activer les nœuds Confidential GKE Node pour des clusters entiers, pour des pools de nœuds spécifiques ou pour des charges de travail spécifiques. Le tableau suivant décrit ces méthodes d'activation :
Paramètre "Confidential GKE Nodes" | Description | Comportement |
---|---|---|
Niveau de charge de travail | Configurez les nœuds Confidential GKE dans une ComputeClass, puis sélectionnez cette ComputeClass dans une charge de travail. GKE crée des nœuds qui utilisent cette configuration pour exécuter vos pods. | Le paramètre de charge de travail est compatible avec l'une des technologies de Confidential Computing suivantes, quels que soient le mode de cluster ou le type de pool de nœuds :
|
Au niveau du cluster | Ce paramètre est irréversible.
Activez les nœuds Confidential GKE lorsque vous créez un cluster Autopilot ou Standard. Tous les nœuds du cluster utilisent des nœuds Confidential GKE Node. Vous ne pouvez pas remplacer le paramètre de cluster pour des pools de nœuds ou des charges de travail individuels. |
Les technologies compatibles au niveau du cluster dépendent du mode de fonctionnement du cluster, comme suit :
|
Au niveau du pool de nœuds | Activez les nœuds Confidential GKE Node lorsque vous créez un pool de nœuds dans un cluster Standard. Vous ne pouvez utiliser cette méthode que si les nœuds Confidential GKE Node sont désactivés au niveau du cluster. | Les technologies compatibles au niveau du pool de nœuds dépendent de l'utilisation ou non du provisionnement automatique des nœuds par le pool de nœuds, comme suit :
|
Mode confidentiel pour Hyperdisk Balanced
Vous pouvez également activer le mode confidentiel pour Hyperdisk Balanced sur le stockage de votre disque de démarrage, ce qui chiffre vos données dans des enclaves supplémentaires soutenues par du matériel.
Vous pouvez activer le mode confidentiel pour Hyperdisk Balanced lorsque vous effectuez l'une des opérations suivantes :
- Créer un cluster
- Créer un pool de nœuds
Vous ne pouvez pas mettre à jour un cluster ou un pool de nœuds existant pour modifier le paramètre "Mode confidentiel pour Hyperdisk équilibré".
Le tableau suivant présente le comportement de GKE qui s'applique lorsque vous activez le paramètre "Mode confidentiel pour Hyperdisk équilibré" au niveau du cluster ou du pool de nœuds :
Paramètre du mode confidentiel pour Hyperdisk Balanced | Procédure de configuration | Comportement |
---|---|---|
Au niveau du cluster | Créer un cluster | Seul le pool de nœuds par défaut du cluster utilisera le paramètre "Mode confidentiel pour Hyperdisk Balanced". Vous ne pouvez pas effectuer les opérations suivantes :
|
Au niveau du pool de nœuds | Créer un pool de nœuds | Vous pouvez configurer le paramètre "Mode confidentiel pour Hyperdisk équilibré" pour tous les nouveaux pools de nœuds au moment de leur création. Vous ne pouvez pas mettre à jour les pools de nœuds existants pour utiliser le paramètre "Mode confidentiel pour Hyperdisk Balanced". |
Tarifs
Les tarifs suivants s'appliquent en fonction de la façon dont vous configurez les nœuds Confidential GKE Nodes :
Tarification des nœuds Confidential GKE Node | |
---|---|
Au niveau de la charge de travail | Dans les charges de travail Autopilot, les deux coûts suivants s'appliquent :
Dans les charges de travail standards, les deux coûts suivants s'appliquent :
|
Au niveau du cluster | Dans les clusters Autopilot, les deux coûts suivants s'appliquent :
Dans les clusters standards, les deux coûts suivants s'appliquent :
|
Au niveau du pool de nœuds | Dans les pools de nœuds Standard, les coûts suivants s'appliquent :
|
De plus, les nœuds Confidential GKE Node sont susceptibles de générer un volume de données de journal légèrement supérieur au démarrage en comparaison aux nœuds qui ne sont pas des nœuds Confidential GKE Node. Pour en savoir plus sur la tarification des journaux, consultez la page Tarifs de Google Cloud Observability.
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande
gcloud components update
.
Conditions requises
Les nœuds Confidential GKE Node présentent les exigences suivantes :
- Les clusters Autopilot doivent exécuter GKE version 1.30.2 ou ultérieure.
Les clusters Standard doivent exécuter l'une des versions de GKE suivantes, en fonction de la technologie Confidential Computing que vous choisissez :
- AMD SEV : n'importe quelle version de GKE.
- AMD SEV-SNP : 1.32.2-gke.1297000 ou version ultérieure.
- Intel TDX : 1.32.2-gke.1297000 ou version ultérieure.
Pour activer les nœuds Confidential GKE au niveau de la charge de travail, les clusters Autopilot et Standard doivent exécuter la version 1.33.3-gke.1392000 ou ultérieure de GKE.
Les nœuds doivent utiliser un type de machine compatible avec la technologie Confidential Computing que vous choisissez. Pour en savoir plus, consultez Types de machines, processeurs et zones.
Les plans de contrôle et les nœuds du cluster doivent se trouver dans un emplacement compatible avec la technologie Confidential Computing que vous choisissez. Pour en savoir plus, consultez Afficher les zones compatibles.
Configurer les nœuds Confidential GKE au niveau de la charge de travail
Pour activer les nœuds Confidential GKE Node dans des charges de travail individuelles, vous devez utiliser une ComputeClass. Les ComputeClasses sont des ressources personnalisées Kubernetes qui vous permettent de définir les attributs des nouveaux nœuds créés par GKE et de contrôler le comportement de secours si le matériel n'est pas disponible. Les ComputeClasses sont compatibles avec toutes les technologies d'informatique confidentielle disponibles pour GKE, même si une technologie spécifique n'est pas compatible au niveau du cluster ou du pool de nœuds.
Pour configurer les nœuds GKE confidentiels au niveau de la charge de travail, procédez comme suit :
Facultatif : Pour les clusters GKE Standard, activez le provisionnement automatique des nœuds pour le cluster. Pour les clusters Autopilot, ignorez cette étape.
Si vous choisissez d'utiliser des ComputeClasses avec uniquement des pools de nœuds créés manuellement, vous devez également configurer manuellement les rejets et les étiquettes de nœuds sur ces pools de nœuds. Cette configuration manuelle supplémentaire peut entraîner une diminution des avantages liés à l'utilisation d'une ComputeClass pour créer des nœuds Confidential GKE Node.
Enregistrez le fichier manifeste ComputeClass suivant au format YAML. Pour en savoir plus sur les champs et valeurs compatibles pour ComputeClasses, consultez la définition de ressource personnalisée ComputeClass.
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
Remplacez les éléments suivants :
COMPUTE_CLASS
: nom de votre nouvelle classe de calcul.CONFIDENTIAL_COMPUTE_TECHNOLOGY
: technologie d'informatique confidentielle à utiliser. Les valeurs suivantes sont acceptées :SEV
pour AMD SEVSEV_SNP
pour AMD SEV-SNPTDX
pour Intel TDX
ZONE1,ZONE2,...
: zones dans lesquelles créer les nœuds, telles que['us-central1-a','us-central1-b']
. Spécifiez des zones compatibles avec la technologie d'informatique confidentielle que vous avez spécifiée. Pour en savoir plus, consultez Afficher les zones compatibles.MACHINE_SERIES
: série de machines pour les nœuds, par exemplen2d
. Spécifiez une série de machines compatible avec la technologie d'informatique confidentielle que vous avez spécifiée. Pour en savoir plus, consultez Types de machines, processeurs et zones.MACHINE_TYPE
: type de machine pour les nœuds, tel quen2d-standard-4
. Spécifiez un type de machine compatible avec la technologie d'informatique confidentielle que vous avez spécifiée. Pour en savoir plus, consultez Types de machines, processeurs et zones.
Ce fichier manifeste inclut le champ
spec.nodePoolAutoCreation
avec la valeurenabled: true
, ce qui permet à GKE de créer des pools de nœuds à l'aide du provisionnement automatique des nœuds.Créez la ComputeClass dans votre cluster :
kubectl apply -f PATH_TO_COMPUTE_CLASS_MANIFEST
Remplacez
PATH_TO_COMPUTE_CLASS_MANIFEST
par le chemin d'accès au fichier manifeste ComputeClass.Enregistrez le fichier manifeste Deployment suivant en tant que fichier YAML :
Créez le déploiement :
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFEST
Remplacez
PATH_TO_DEPLOYMENT_MANIFEST
par le chemin d'accès au fichier manifeste du déploiement.
Les nouveaux nœuds que GKE crée pour cette charge de travail utilisent la technologie de calcul confidentiel que vous avez spécifiée. Ces nœuds s'exécutent dans l'une des zones que vous avez sélectionnées, sur un type de machine que vous avez défini dans ComputeClass. GKE ajoute des rejets et des libellés de nœud afin que seuls les pods qui sélectionnent la même ComputeClass puissent s'exécuter sur les nœuds.
Configurer les nœuds Confidential GKE Node au niveau du cluster
Vous pouvez activer les nœuds Confidential GKE Node pour l'ensemble d'un cluster Autopilot ou Standard, ce qui signifie que chaque nœud des clusters utilise des nœuds Confidential GKE Node. Par conséquent, toutes les charges de travail que vous déployez dans ce cluster s'exécutent sur des nœuds Confidential GKE Node. Vous ne pouvez pas remplacer le paramètre de cluster dans les charges de travail ou les pools de nœuds individuels.
Créer un cluster Autopilot
Les clusters Autopilot ne sont compatibles qu'avec AMD SEV au niveau du cluster. Lorsque vous activez les nœuds Confidential GKE Node, la série de machines par défaut dans le cluster Autopilot passe à N2D. Toutes vos charges de travail s'exécutent sur ces nœuds confidentiels sans que vous ayez besoin de modifier leurs fichiers manifestes.
Exécutez la commande suivante :
gcloud container clusters create-auto CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --enable-confidential-nodes
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du cluster Autopilot.CONTROL_PLANE_LOCATION
: région Compute Engine du plan de contrôle du cluster, telle queus-central1
.
Le cluster doit exécuter la version 1.30.2 ou ultérieure. Pour en savoir plus, consultez Créer un cluster Autopilot avec une version et un canal de publication spécifiques.
Créer un cluster standard
Vous pouvez spécifier une technologie d'informatique confidentielle pour vos nœuds lorsque vous créez un cluster Standard. Spécifier la technologie lorsque vous créez un cluster a les effets suivants :
- Dans ce cluster, vous ne pouvez créer que des pools de nœuds ou des charges de travail qui utilisent des nœuds Confidential GKE Node.
- Vous ne pouvez pas mettre à jour le cluster pour désactiver les nœuds Confidential GKE Node.
- Vous ne pouvez pas remplacer la technologie de Confidential Computing au niveau du cluster dans des pools de nœuds ou des charges de travail individuels.
La configuration d'un paramètre informatique confidentielle au niveau du cluster est définitive. Par conséquent, tenez compte des cas d'utilisation suivants avant de créer votre cluster :
- Pour utiliser le provisionnement automatique des nœuds dans votre cluster, vous devez configurer des options spécifiques dans la commande de création du cluster. Pour en savoir plus, consultez la section Utiliser des nœuds Confidential GKE avec le provisionnement automatique des nœuds.
- Pour utiliser différentes technologies d'informatique confidentielle afin de chiffrer des pools de nœuds spécifiques dans le cluster, ignorez cette section et configurez les nœuds Confidential GKE Node au niveau du pool de nœuds.
Pour créer un cluster en mode Standard qui utilise des nœuds Confidential GKE Node, sélectionnez l'une des options suivantes :
gcloud
Lors de la création d'un cluster, spécifiez l'option --confidential-node-type
dans gcloud CLI :
gcloud container clusters create CLUSTER_NAME \
--location=LOCATION \
--machine-type=MACHINE_TYPE \
--node-locations=ZONE1,ZONE2,... \
--confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterLOCATION
: emplacement Compute Engine du plan de contrôle du cluster. L'emplacement doit être compatible avec la technologie d'informatique confidentielle que vous spécifiez. Pour en savoir plus, consultez la section Disponibilité.MACHINE_TYPE
: type de machine compatible avec la technologie de informatique confidentielle que vous spécifiez. Pour en savoir plus, consultez la section Disponibilité.ZONE1,ZONE2,...
: liste de zones séparées par une virgule dans la région du plan de contrôle qui prennent en charge la nouvelle technologie informatique confidentielle. Pour en savoir plus, consultez Afficher les zones compatibles.CONFIDENTIAL_COMPUTE_TECHNOLOGY
: technologie d'informatique confidentielle à utiliser. Les valeurs suivantes sont acceptées :sev
: AMD SEVsev_snp
: AMD SEV-SNPtdx
: Intel TDX
Vous pouvez également utiliser l'option --enable-confidential-nodes
dans la commande de création de votre cluster. Si vous ne spécifiez que cette option dans votre commande, le cluster utilise AMD SEV. Le type de machine que vous spécifiez dans la commande doit être compatible avec AMD SEV. Toutefois, si vous spécifiez l'option --confidential-node-type
dans la même commande, GKE utilise la valeur que vous spécifiez dans l'option --confidential-node-type
.
Console
Dans la console Google Cloud , accédez à la page Créer un cluster Kubernetes.
Dans le menu de navigation, dans la section Cluster, cliquez sur Sécurité.
Cochez la case Activer les nœuds Confidential GKE Node.
Dans la boîte de dialogue Modifications requises, cliquez sur Apporter des modifications.
Dans le menu Type, sélectionnez la technologie informatique confidentielle que vous souhaitez utiliser.
Si la technologie que vous sélectionnez nécessite une série de machines Compute Engine spécifique, une boîte de dialogue s'affiche. Cliquez sur Apporter des modifications pour mettre à jour la série de machines du pool de nœuds.
Dans la section Pools de nœuds du menu de navigation, cliquez sur default-pool.
Dans le volet Détails du pool de nœuds, procédez comme suit :
- Cochez la case Spécifier les emplacements de nœuds. La liste des zones de la région du cluster s'affiche.
- Cochez les cases des zones compatibles avec la technologie de informatique confidentielle que vous avez sélectionnée pour les nœuds. Pour en savoir plus, consultez Afficher les zones compatibles.
Cliquez sur Créer.
Pour en savoir plus sur la création de clusters, consultez Créer un cluster régional.
Pour tout pool de nœuds créé avec le paramètre "Mode confidentiel pour Hyperdisk Balanced", seuls les nœuds du pool de nœuds sont limités à la configuration. Pour tout nouveau pool de nœuds créé dans le cluster, vous devez configurer le mode confidentiel lors de la création.
Configurer le provisionnement automatique des nœuds
Vous pouvez configurer le provisionnement automatique des nœuds pour utiliser les nœuds Confidential GKE Node dans les pools de nœuds provisionnés automatiquement. L'auto-provisionnement des nœuds est compatible avec les technologies d'informatique confidentielle suivantes :
- AMD SEV
- AMD SEV-SNP
Pour utiliser les nœuds Confidential GKE avec le provisionnement automatique des nœuds, spécifiez l'indicateur --enable-confidential-nodes
de la gcloud CLI lorsque vous créez un cluster. Les considérations supplémentaires suivantes s'appliquent :
- Lorsque vous créez le cluster, choisissez une technologie Confidential Computing compatible avec le provisionnement automatique des nœuds. Ce choix est irréversible au niveau du cluster.
- Lorsque vous activez le provisionnement automatique des nœuds sur un cluster existant, celui-ci doit déjà utiliser une technologie Confidential GKE Nodes compatible avec le provisionnement automatique des nœuds.
- Lorsque vous déployez des charges de travail, vérifiez qu'elles sélectionnent la technologie Confidential Computing du cluster et une série de machines compatible avec cette technologie.
Configurer les nœuds Confidential GKE Node au niveau du pool de nœuds
Vous pouvez activer les nœuds Confidential GKE Node sur des pools de nœuds spécifiques si les nœuds Confidential GKE Node sont désactivés au niveau du cluster.
Le mode confidentiel pour le paramètre Hyperdisk Balanced doit être spécifié lors de la requête de création du pool de nœuds.
Créer un pool de nœuds
Pour créer un pool de nœuds avec les nœuds Confidential GKE Node activés, sélectionnez l'une des options suivantes :
gcloud
Exécutez la commande suivante :
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
Remplacez les éléments suivants :
NODE_POOL_NAME
: nom de votre nouveau pool de nœuds.LOCATION
: emplacement de votre nouveau pool de nœuds. L'emplacement doit être compatible avec la technologie d'informatique confidentielle que vous spécifiez. Pour en savoir plus, consultez la section Disponibilité.CLUSTER_NAME
: nom du clusterMACHINE_TYPE
: type de machine compatible avec la technologie de informatique confidentielle que vous spécifiez. Pour en savoir plus, consultez la section Disponibilité.ZONE1,ZONE2,...
: liste des zones de la région du cluster qui sont compatibles avec la nouvelle technologie informatique confidentielle, séparées par une virgule. Pour en savoir plus, consultez Afficher les zones compatibles.CONFIDENTIAL_COMPUTE_TECHNOLOGY
: technologie d'informatique confidentielle à utiliser. Les valeurs suivantes sont acceptées :sev
: AMD SEVsev_snp
: AMD SEV-SNPtdx
: Intel TDX
Vous pouvez également utiliser l'option --enable-confidential-nodes
dans la commande de création de votre cluster. Si vous ne spécifiez que cette option dans votre commande, le cluster utilise AMD SEV. Le type de machine que vous spécifiez dans la commande doit être compatible avec AMD SEV. Toutefois, si vous spécifiez l'option --confidential-node-type
dans la même commande, GKE utilise la valeur que vous spécifiez dans l'option --confidential-node-type
.
Console
Dans la console Google Cloud , accédez à la page Clusters Kubernetes :
Cliquez sur le nom de votre cluster Standard.
Cliquez sur
Ajouter un pool de nœuds.Dans le menu de navigation, cliquez sur Sécurité.
Dans le volet Sécurité des nœuds, procédez comme suit :
- Cochez la case Activer les nœuds Confidential GKE Node.
- Dans la boîte de dialogue Modifications requises, cliquez sur Apporter des modifications.
Dans le menu Type, sélectionnez la technologie informatique confidentielle que vous souhaitez utiliser.
Si la technologie que vous sélectionnez nécessite une série de machines Compute Engine spécifique, une boîte de dialogue s'affiche. Cliquez sur Apporter des modifications pour mettre à jour la série de machines du pool de nœuds.
Dans le menu de navigation, cliquez sur Détails du pool de nœuds.
Dans le volet Détails du pool de nœuds, procédez comme suit :
- Cochez la case Spécifier les emplacements de nœuds. La liste des zones de la région du cluster s'affiche.
- Cochez les cases des zones compatibles avec la technologie de informatique confidentielle que vous avez sélectionnée pour les nœuds. Pour en savoir plus, consultez Afficher les zones compatibles.
(Facultatif) Configurez d'autres paramètres pour votre pool de nœuds.
Cliquez sur Créer.
Mettre à jour un pool de nœuds existant
Cette modification nécessite de recréer les nœuds, ce qui peut perturber vos charges de travail en cours d'exécution. Pour en savoir plus sur cette modification spécifique, recherchez la ligne correspondante dans le tableau Modifications manuelles qui recréent les nœuds à l'aide d'une stratégie de mise à niveau des nœuds sans respecter les règles de maintenance. Pour en savoir plus sur les mises à jour des nœuds, consultez Planifier les interruptions liées aux mises à jour des nœuds.
Vous pouvez mettre à jour des pools de nœuds existants pour utiliser les nœuds Confidential GKE Node ou pour changer la technologie de informatique confidentielle utilisée par les nœuds. Le pool de nœuds doit répondre à toutes les exigences suivantes :
- Les nœuds utilisent un type de machine compatible avec la technologie informatique confidentielle choisie.
- Les nœuds s'exécutent dans des zones compatibles avec la technologie informatique confidentielle choisie.
Étant donné que la disponibilité du type de machine et de l'emplacement peut varier entre les technologies de informatique confidentielle, vous devrez peut-être mettre à jour ces attributs pour votre pool de nœuds avant d'activer une technologie de informatique confidentielle spécifique.
Pour mettre à jour un pool de nœuds existant afin qu'il utilise des nœuds Confidential GKE Node, sélectionnez l'une des options suivantes :
gcloud
Vous pouvez utiliser gcloud CLI pour activer les nœuds Confidential GKE Nodes sur un pool de nœuds ou pour modifier la technologie de informatique confidentielle des nœuds.
- Si le pool de nœuds utilise déjà des nœuds Confidential GKE Node, désactivez-les. Patientez pendant la mise à jour du pool de nœuds.
Remplacez le type de machine et les emplacements des nœuds du pool de nœuds par des valeurs compatibles avec la nouvelle technologie informatique confidentielle :
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --location=CLUSTER_LOCATION \ --machine-type=MACHINE_TYPE \ --node-locations=ZONE1,ZONE2,...
Remplacez les éléments suivants :
NODE_POOL_NAME
: nom du pool de nœuds existant.CLUSTER_NAME
: nom du cluster.CLUSTER_LOCATION
: emplacement du cluster.MACHINE_TYPE
: type de machine compatible avec la nouvelle technologie informatique confidentielle. Pour en savoir plus, consultez la section Disponibilité.ZONE1,ZONE2,...
: liste des zones de la région du cluster qui sont compatibles avec la nouvelle technologie informatique confidentielle, séparées par une virgule. Pour en savoir plus, consultez Afficher les zones compatibles.
Mettez à jour le pool de nœuds avec la technologie informatique confidentielle à utiliser :
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --location=CLUSTER_LOCATION \ --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY
Remplacez
CONFIDENTIAL_COMPUTE_TECHNOLOGY
par la technologie informatique confidentielle à utiliser. Les valeurs suivantes sont acceptées :sev
: AMD SEVsev_snp
: AMD SEV-SNPtdx
: Intel TDX
Console
Vous ne pouvez mettre à jour un pool de nœuds existant pour utiliser les nœuds Confidential GKE Node que si le type de machine du pool de nœuds est compatible avec la technologie de informatique confidentielle que vous avez choisie. Si les nœuds n'utilisent pas un type de machine compatible, utilisez plutôt les instructions de gcloud CLI de cette section.
Dans la console Google Cloud , accédez à la page Clusters Kubernetes :
Cliquez sur le nom de votre cluster Standard.
Cliquez sur l'onglet Nœuds.
Cliquez sur le nom du pool de nœuds que vous souhaitez modifier.
Sur la page Détails du pool de nœuds, cliquez sur
Modifier. Le volet Modifier le pool de nœuds s'ouvre.Dans la section Zones, vérifiez que les zones sélectionnées sont compatibles avec la technologie informatique confidentielle. Pour en savoir plus, consultez Afficher les zones compatibles.
Si une zone sélectionnée n'est pas compatible avec la technologie, procédez comme suit :
- Décochez la case de la zone non prise en charge.
- Facultatif : Cochez les cases correspondant aux autres zones acceptées.
- Cliquez sur Enregistrer. Patientez jusqu'à la fin de l'opération de mise à jour du pool de nœuds.
- Cliquez sur Modifier pour rouvrir le volet Modifier le pool de nœuds.
Dans la section Sécurité, cochez la case Activer les nœuds Confidential GKE Node.
Dans le menu Type, sélectionnez la technologie de informatique confidentielle pour les nœuds.
Cliquez sur Enregistrer.
Placer des charges de travail uniquement sur des pools de nœuds confidentiels
Si vous activez les nœuds Confidential GKE Node au niveau du cluster, toutes vos charges de travail s'exécutent sur des nœuds confidentiels. Vous n'avez pas besoin de modifier vos fichiers manifestes. Toutefois, si vous activez les nœuds Confidential GKE Node uniquement pour des pools de nœuds en mode Standard spécifiques au niveau du pool de nœuds, vous devez indiquer de manière déclarative que vos charges de travail ne doivent s'exécuter que sur des pools de nœuds avec des nœuds Confidential GKE Node.
Pour exiger qu'une charge de travail s'exécute sur une technologie informatique confidentielle spécifique, utilisez un sélecteur de nœud avec le libellé
cloud.google.com/gke-confidential-nodes-instance-type
, comme dans l'exemple suivant :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"
Remplacez
CONFIDENTIAL_COMPUTE_SELECTOR
par le nom de la technologie utilisée par le pool de nœuds. Ce champ accepte les valeurs suivantes, que vous devez spécifier en majuscules :SEV
: AMD SEVSEV_SNP
: AMD SEV-SNPTDX
: Intel TDX
Pour permettre à une charge de travail de s'exécuter sur n'importe quel nœud confidentiel, quelle que soit la technologie informatique confidentielle, utilisez une règle d'affinité de nœuds, comme dans l'exemple suivant :
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
Pour permettre à une charge de travail de s'exécuter sur des nœuds qui n'utilisent qu'un sous-ensemble des technologies de informatique confidentielle disponibles, utilisez une règle d'affinité de nœuds semblable à l'exemple suivant :
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
Dans le champ
values
, spécifiez uniquement les technologies d'informatique confidentielle sur lesquelles vous souhaitez exécuter la charge de travail.
Vérifier que les nœuds Confidential GKE Node sont activés
Vous pouvez vérifier si vos clusters ou nœuds utilisent des nœuds Confidential GKE en inspectant les clusters, les pools de nœuds, les nœuds ou les instances Compute Engine.
Valider pour les clusters
Sélectionnez l'une des options suivantes :
gcloud
Décrivez le cluster :
gcloud container clusters describe CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--format='yaml(confidentialNodes.confidentialInstanceType)'
Si les nœuds Confidential GKE Node sont activés, le résultat ressemble à ce qui suit :
confidentialNodes:
confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
Console
Dans la console Google Cloud , accédez à la page Clusters Kubernetes.
Cliquez sur le nom du cluster que vous souhaitez inspecter.
Dans la section Sécurité, vérifiez que le champ Nœuds Confidential GKE Node est défini sur Activé.
Valider pour les pools de nœuds
Sélectionnez l'une des options suivantes :
gcloud
Décrivez le pool de nœuds :
gcloud container node-pools describe NODE_POOL_NAME \
--location=CONTROL_PLANE_LOCATION \
--format='yaml(confidentialNodes.confidentialInstanceType,enableConfidentialStorage)'
Si les nœuds Confidential GKE Node sont activés, le résultat ressemble à ce qui suit :
confidentialNodes:
confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
Si le mode confidentiel pour Hyperdisk Balanced est également activé, le résultat ressemble à ce qui suit :
confidentialNodes:
confidentialInstanceType: CONFIDENTIAL_COMPUTE_SELECTOR
enableConfidentialStorage: true
Console
Dans la console Google Cloud , accédez à la page Clusters Kubernetes.
Cliquez sur le nom du cluster que vous souhaitez inspecter.
Cliquez sur le nom d'un pool de nœuds.
Dans la section Sécurité, vérifiez que le champ Nœuds Confidential GKE Node est défini sur Activé.
Valider pour un nœud spécifique
Recherchez le nom du nœud :
kubectl get nodes
Décrivez le nœud :
kubectl describe NODE_NAME
Remplacez
NODE_NAME
par le nom d'un nœud à inspecter.Le résultat ressemble à ce qui suit :
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
Dans ce résultat, le libellé de nœud
cloud.google.com/gke-confidential-nodes-instance-type
indique que le nœud est un nœud confidentiel.
Définir des contraintes de règle d'administration
Vous pouvez définir une contrainte de règle d'administration pour vous assurer que toutes les ressources de VM créées dans votre organisation sont des instances de Confidential VM.
Pour GKE, vous pouvez personnaliser la contrainte Limiter l'informatique non confidentielle pour exiger que tous les clusters soient créés avec l'une des technologies d'informatique confidentielle disponibles activée. Ajoutez le nom du service d'API container.googleapis.com
à la liste de refus lors de l'application des contraintes de règle d'administration, comme dans l'exemple suivant :
gcloud resource-manager org-policies deny \
constraints/compute.restrictNonConfidentialComputing compute.googleapis.com container.googleapis.com \
--project=PROJECT_ID
Remplacez PROJECT_ID par l'ID du projet.
Créer un PersistentVolume pour le mode confidentiel pour Hyperdisk Balanced
Pour obtenir des conseils sur les valeurs autorisées pour le débit ou les IOPS, consultez la section Planifier le niveau de performances de vos volumes Hyperdisk.
Les exemples suivants montrent comment créer une StorageClass en mode confidentiel pour les StorageClass Hyperdisk Balanced pour chaque type de volume Hyperdisk :
Volume Hyperdisk équilibré
Enregistrez le fichier manifeste suivant dans un fichier nommé
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"
Remplacez les éléments suivants :
KMS_PROJECT_ID
: projet propriétaire de la clé Cloud KMS.REGION
: la région où se trouve le disque.KEY_RING
: nom du trousseau de clés qui inclut la cléHSM_KEY_NAME
: nom de la clé HSM utilisée pour chiffrer le disque.
Créez la StorageClass :
kubectl create -f hdb-example-class.yaml
Créez une réclamation de volume persistant Hyperdisk pour GKE qui utilise votre mode Confidentiel pour le volume Hyperdisk équilibré.
Pour trouver le nom des StorageClasses disponibles dans votre cluster, exécutez la commande suivante :
kubectl get sc
Limites
Les nœuds Confidential GKE Node présentent les limites suivantes :
- Toutes les limites des instances Confidential VM de Compute Engine s'appliquent également aux nœuds Confidential GKE Node.
- Les nœuds Confidential GKE Node ne sont pas compatibles avec les nœuds à locataire unique.
- Les nœuds Confidential GKE Node ne sont compatibles qu'avec le stockage éphémère sur des disques SSD locaux, mais pas avec les disques SSD locaux en général.
- Les nœuds Confidential GKE Node ne sont compatibles qu'avec les images de nœud Container-Optimized OS. Les nœuds Ubuntu et Windows ne sont pas acceptés.
- Les clusters Autopilot ne sont compatibles qu'avec AMD SEV au niveau du cluster. Pour utiliser une autre technologie d'informatique confidentielle, configurez Confidential GKE Nodes au niveau de la charge de travail.
- Le provisionnement automatique des nœuds n'est compatible qu'avec AMD SEV et AMD SEV-SNP au niveau du pool de nœuds. Pour utiliser une autre technologie d'informatique confidentielle, configurez les nœuds Confidential GKE au niveau de la charge de travail.
Le mode confidentiel pour Hyperdisk Balanced présente les limites suivantes :
- Toutes les limites liées à l'utilisation de clés de chiffrement gérées par le client (CMEK) pour chiffrer les disques s'appliquent au mode Confidentiel pour Hyperdisk équilibré.
- Le mode confidentiel pour Hyperdisk Balanced n'est compatible qu'avec les nœuds Confidential GKE Node qui utilisent AMD SEV comme technologie d'informatique confidentielle.
Limites de la migration à chaud
Les Confidential VM Compute Engine qui utilisent le type de machine N2D et AMD SEV comme technologie de informatique confidentielle sont compatibles avec la migration à chaud, ce qui minimise le risque d'interruption de la charge de travail lors d'un événement de maintenance de l'hôte. La migration à chaud est disponible dans les versions GKE suivantes :
- 1.27.10-gke.1218000 et versions ultérieures
- 1.28.6-gke.1393000 et versions ultérieures
- 1.29.1-gke.1621000 et versions ultérieures
Si vos pools de nœuds exécutaient déjà une version compatible lorsque la migration en direct a été ajoutée, mettez-les à niveau manuellement vers la même version compatible ou une autre. La mise à niveau des nœuds déclenche leur recréation, et la migration en direct est activée sur les nouveaux nœuds.
Pour savoir quels types de machines Compute Engine sont compatibles avec la migration à chaud, consultez Configurations compatibles.
Si un événement de maintenance de l'hôte se produit sur un nœud qui n'est pas compatible avec la migration à chaud, le nœud passe à l'état NotReady
. L'exécution des pods entraîne des interruptions jusqu'à ce que le nœud soit à nouveau prêt. Si la maintenance prend plus de cinq minutes, GKE peut essayer de recréer les pods sur d'autres nœuds.
Désactiver les nœuds Confidential GKE Node
Cette modification nécessite de recréer les nœuds, ce qui peut perturber vos charges de travail en cours d'exécution. Pour en savoir plus sur cette modification spécifique, recherchez la ligne correspondante dans le tableau Modifications manuelles qui recréent les nœuds à l'aide d'une stratégie de mise à niveau des nœuds sans respecter les règles de maintenance. Pour en savoir plus sur les mises à jour des nœuds, consultez Planifier les interruptions liées aux mises à jour des nœuds.
Vous ne pouvez désactiver les nœuds Confidential GKE Node que dans les pools de nœuds en mode Standard. Si le pool de nœuds se trouve dans un cluster qui utilise des nœuds Confidential GKE Node au niveau du cluster, vous ne pouvez pas désactiver la fonctionnalité au niveau du pool de nœuds. Pour désactiver les nœuds Confidential GKE Node, sélectionnez l'une des options suivantes :
gcloud
Exécutez la commande suivante :
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--location=CLUSTER_LOCATION \
--no-enable-confidential-nodes
Console
Dans la console Google Cloud , accédez à la page Clusters Kubernetes :
Cliquez sur le nom de votre cluster Standard.
Cliquez sur l'onglet Nœuds.
Cliquez sur le nom du pool de nœuds que vous souhaitez modifier.
Sur la page Détails du pool de nœuds, cliquez sur
Modifier. Le volet Modifier le pool de nœuds s'ouvre.Dans la section Sécurité, décochez la case Activer les nœuds Confidential GKE Node.
Cliquez sur Enregistrer.
Étapes suivantes
- En savoir plus sur les Confidential VMs
- En savoir plus sur le Google Cloud chiffrement au repos
- En savoir plus sur le chiffrement en transit Google Cloud
- En savoir plus sur les clés de chiffrement gérées par le client (CMEK)
- Découvrez comment attester à distance que les charges de travail s'exécutent sur une Confidential VM.
- Découvrez comment exécuter des GPU sur des nœuds Confidential GKE Node.