Usar Confidential GKE Node


En esta página, se muestra cómo usar la función de Confidential Google Kubernetes Engine Nodes. Los Confidential GKE Node proporcionan encriptación en uso para tus cargas de trabajo.

Descripción general

Los Confidential GKE Nodes se compilan sobre la Confidential VM de Compute Engine, que encripta el contenido de la memoria de las VM en uso. Los clústeres con Confidential GKE Nodes habilitados aplican el uso de la Confidential VM en todos los nodos. Esto significa que tus nodos, incluidas las cargas de trabajo que se ejecutan en ellos, se encriptan en uso. Para obtener visibilidad del plano de control, usa la Transparencia de acceso.

No se aplican costos adicionales para implementar los Confidential GKE Node, excepto el costo de la Confidential VM de Compute Engine. Sin embargo, los Confidential GKE Node pueden generar un poco más de datos de registro en el inicio que los nodos estándar. Para obtener información sobre el precio de los registros, consulta Precios de Google Cloud's operations suite.

Disponibilidad

Los Confidential GKE Nodes están disponibles en las siguientes situaciones:

  • Los Confidential GKE Node están disponibles en los canales de versiones regular y rápido para las versiones de GKE 1.18.6-gke.1600 y posteriores.
  • Los Confidential GKE Node están disponibles en zonas y regiones con instancias N2D disponibles.
  • Los Confidential GKE Node pueden usarse con Container-Optimized OS y containerd en Container-Optimized OS (cos_containerd).
  • Los nodos confidenciales de GKE aplican el uso de la Confidential VM en tus grupos de nodos.
  • La Confidential VM solo está disponible en instancias de N2D de Compute Engine.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

Establece la configuración de gcloud predeterminada mediante uno de los siguientes métodos:

  • Usa gcloud init si deseas ver una explicación sobre cómo configurar parámetros predeterminados.
  • Usa gcloud config para establecer el ID, la zona y la región del proyecto de manera individual.

Usa gcloud init

Si recibes el error One of [--zone, --region] must be supplied: Please specify location, completa esta sección.

  1. Ejecuta gcloud init y sigue las instrucciones:

    gcloud init

    Si usas SSH en un servidor remoto, usa la marca --console-only para evitar que el comando abra un navegador:

    gcloud init --console-only
  2. Sigue las instrucciones a fin de autorizar a gcloud para que use tu cuenta de Google Cloud.
  3. Crea una configuración nueva o selecciona una existente.
  4. Elige un proyecto de Google Cloud.
  5. Elige una zona predeterminada de Compute Engine para clústeres zonales o una región para clústeres regionales o de Autopilot.

Usa gcloud config

  • Establece tu ID del proyecto predeterminado:
    gcloud config set project PROJECT_ID
  • Si trabajas con clústeres zonales, establece tu zona de procesamiento predeterminada:
    gcloud config set compute/zone COMPUTE_ZONE
  • Si trabajas con clústeres de Autopilot o regionales, configura tu región de procesamiento predeterminada:
    gcloud config set compute/region COMPUTE_REGION
  • Actualiza gcloud a la versión más reciente:
    gcloud components update

Habilita los Confidential GKE Node en un clúster nuevo

Puedes crear un clúster nuevo con Confidential GKE Node habilitados mediante la herramienta de gcloud o Google Cloud Console.

gcloud

Cuando crees un clúster nuevo, especifica la opción --enable-confidential-nodes en la herramienta de línea de comandos de gcloud:

gcloud beta container clusters create CLUSTER_NAME \
  --release-channel=RELEASE_CHANNEL \
  --machine-type N2D_MACHINE_TYPE \
  --enable-confidential-nodes

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster nuevo.

  • RELEASE_CHANNEL: El canal de versiones debe ser regular o rapid.

  • N2D_MACHINE_TYPE: Es el tipo de máquina para el grupo de nodos predeterminado del clúster, que debe ser un tipo de máquina N2d.

Console

  1. Ve a la página Google Kubernetes Engine en Cloud Console.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. En la sección Estándar, haz clic en Configurar.

  4. En el panel de navegación, en Clúster, haz clic en Seguridad.

  5. Selecciona la casilla de verificación Habilitar Confidential GKE Node.

  6. Configura tu clúster como desees.

  7. Haga clic en Crear.

Consulta Crea un clúster para obtener más detalles sobre la creación de clústeres

Después de crear un clúster con Confidential GKE Node, cualquier grupo de nodos creado en este clúster solo puede ser confidencial.

Verifica que los Confidential GKE Node estén habilitados

Debes verificar que tu clúster use Confidential GKE Node mediante la herramienta de línea de comandos de gcloud o Google Cloud Console.

gcloud

Describe el clúster:

gcloud beta container clusters describe CLUSTER_NAME

Si los Confidential GKE Nodes están habilitados, el resultado del comando incluirá las siguientes líneas:

confidentialNodes:
  enabled: true

Console

  1. Ve a la página de Google Kubernetes Engine en Cloud Console:

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster que deseas inspeccionar.

  3. En Seguridad, en el campo Confidential GKE Node, verifica que los Confidential GKE Node estén habilitados.

A fin de validar la confidencialidad de los nodos, puedes ver eventos de certificación de lanzamiento para nodos individuales en registros de Compute Engine. Para obtener más información, consulta Valida la Confidential VM mediante Cloud Monitoring.

Ejecuta aplicaciones en los Confidential GKE Node

El enfoque de Google respecto de Confidential Computing es permitir que las aplicaciones existentes puedan realizar una migración lift-and-shift sin esfuerzo. Las cargas de trabajo de GKE que ejecutas hoy pueden ejecutarse en los Confidential GKE Node sin cambios en el código.

De manera opcional, si deseas expresar de forma declarativa que tus cargas de trabajo solo deben ejecutarse en clústeres con Confidential GKE Node, puedes usar el selector de nodos cloud.google.com/gke-confidential-nodes. A continuación, se muestra un ejemplo de una especificación de Pod que usa este selector:

apiVersion: v1
kind: Pod
spec:
  containers:
  - name: my-confidential-app
    image: us-docker.pkg.dev/myproject/myrepo/my-confidential-app
    nodeSelector: cloud.google.com/gke-confidential-nodes:true

Limitaciones

Ten en cuenta las siguientes limitaciones antes de habilitar los Confidential GKE Node en un clúster nuevo:

  • No puedes habilitar los Confidential GKE Node en clústeres existentes.
  • No puedes inhabilitar los Confidential GKE Node después de que se habiliten en un clúster.
  • Los Confidential GKE Node no son compatibles con las GPU.
  • Los Confidential GKE Node no son compatibles con los nodos de usuario único.
  • En este momento, no puedes agregar SSD locales o discos persistentes cuando están habilitados los Confidential GKE Node.
  • Solo se admiten los nodos de Container-Optimized OS. Los nodos de Ubuntu y Windows no son compatibles.
  • No se admite la Confidential VM para los nodos del plano de control (instancia principal).

¿Qué sigue?