En esta página se explica cómo desplegar y escalar cargas de trabajo más rápidamente en clústeres de Google Kubernetes Engine (GKE) mediante nodos de inicio rápido. Los nodos de inicio rápido se usan en GKE con el modo Autopilot de forma optimizada cuando las cargas de trabajo usan configuraciones compatibles.
Los nodos de GKE de inicio rápido tienen un tiempo de inicio significativamente menor para las familias de máquinas compatibles. El tiempo de inicio acelerado te ofrece las siguientes ventajas:
- Arranque en frío más rápido
- Autoescalado más rápido
- Latencia de cola larga de la programación de pods mejorada
- Mejora de la rentabilidad de la infraestructura
Con los nodos de inicio rápido, GKE preinicializa los recursos de hardware para acelerar el tiempo de inicio. Los recursos preinicializados están disponibles en función de la disponibilidad. Es posible que las solicitudes de aumento solo se sirvan parcialmente. Sin nodos de inicio rápido, los recursos se inicializan bajo demanda y los nodos se sirven con el tiempo de inicio normal.
Requisitos
Los nodos de inicio rápido no requieren ninguna configuración adicional. GKE usa automáticamente nodos de inicio rápido si tus cargas de trabajo utilizan configuraciones compatibles. Para usar nodos de inicio rápido, debes cumplir todos los requisitos siguientes:
- Usar clústeres de Autopilot.
- Usa cualquier versión del canal de lanzamiento rápido.
Usa cualquiera de los siguientes recursos de computación compatibles, con un tamaño máximo de disco de arranque compatible de 500 GiB:
- GPUs NVIDIA L4 (serie de máquinas G2)
Usa el tipo de disco de arranque
pd-balanced
.No utilices ninguna función que sea incompatible con los nodos de inicio rápido. Para obtener más información, consulta Limitaciones.
Limitaciones
Las siguientes funciones no son compatibles con los nodos de GKE de inicio rápido. Si usas alguna de estas funciones, GKE aprovisiona nodos con el tiempo de inicio habitual:
- Claves de encriptado gestionadas por el cliente (CMEK)
- Máquinas virtuales de acceso puntual
- SSDs locales
- Políticas de emplazamiento
- Compatibilidad con varias redes
Cargas de trabajo de GPU de Autopilot
Si solicitas GPUs compatibles en tus clústeres de Autopilot, el tiempo de inicio de los nodos será hasta cuatro veces más rápido y el tiempo de programación de los pods será hasta dos veces más rápido que con solicitudes similares en clústeres Estándar de GKE, ya que las cargas de trabajo de GPU de Autopilot pueden usar nodos de inicio rápido.
A continuación se muestran algunos ejemplos de casos prácticos. Sin embargo, los pods que cumplan las condiciones de la sección Requisitos son compatibles con los nodos de inicio rápido.
ComputeClass
Solicita un tipo y un recuento de acelerador compatibles en una ComputeClass, como en el siguiente ejemplo:
apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
name: ACCELERATOR_COMPUTE_CLASS_NAME
spec:
priorities:
- gpu:
type: ACCELERATOR_TYPE
count: ACCELERATOR_COUNT
nodePoolAutoCreation:
enabled: true
Cuando seleccionas esta ComputeClass en un pod, como en el ejemplo siguiente, GKE usa nodos de inicio rápido:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
nodeSelector:
# Select a ComputeClass that requests compatible GPUs
cloud.google.com/compute-class: ACCELERATOR_COMPUTE_CLASS_NAME
containers:
- name: my-container
image: gcr.io/google_containers/pause
resources:
limits:
nvidia.com/gpu: ACCELERATOR_COUNT
Sustituye los siguientes valores:
ACCELERATOR_COMPUTE_CLASS_NAME
: nombre de la ComputeClass que solicita los aceleradores.ACCELERATOR_TYPE
: el tipo de acelerador.ACCELERATOR_COUNT
: número de aceleradores que necesita el pod. Este valor debe ser inferior o igual al valor del campospec.priorities.gpu.count
de ComputeClass.POD_NAME
: el nombre de tu Pod.
Para obtener más información sobre ComputeClass, consulta el artículo Acerca de las clases de cálculo personalizadas.
Especificaciones de pod
Selecciona un tipo y un número de acelerador compatibles en la especificación de tu pod, como en el siguiente ejemplo:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
nodeSelector:
cloud.google.com/gke-accelerator: ACCELERATOR_NAME
containers:
- name: my-container
image: gcr.io/google_containers/pause
resources:
limits:
nvidia.com/gpu: ACCELERATOR_COUNT
Sustituye los siguientes valores:
POD_NAME
: el nombre de tu Pod.ACCELERATOR_NAME
: el nombre del acelerador que requiere el pod.ACCELERATOR_COUNT
: número de aceleradores que necesita el pod.
Precios
Los nodos de inicio rápido están disponibles en Autopilot de GKE sin coste adicional. Para obtener más información sobre los precios de Autopilot de GKE, consulta la sección sobre el modo Autopilot en la página Precios de Google Kubernetes Engine.
Siguientes pasos
- Acerca de la plataforma de computación optimizada para contenedores Autopilot
- Acerca de las clases de cálculo personalizadas
- Resumen del rendimiento de los discos persistentes