En esta página, se muestra cómo implementar y escalar cargas de trabajo más rápidamente en clústeres de Google Kubernetes Engine (GKE) con nodos de inicio rápido. Los nodos de inicio rápido se usan en GKE con el modo Autopilot según el principio de mejor esfuerzo 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 brinda los siguientes beneficios:
- Inicio en frío más rápido
- Ajuste de escala automático más rápido
- Se mejoró la latencia de cola larga de la programación de Pods
- Mejora de la eficiencia de los costos de 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 según el principio de mejor esfuerzo. Es posible que las solicitudes de aumento solo se publiquen de forma parcial. Sin nodos de inicio rápido, los recursos se inicializan a pedido y los nodos se entregan en el tiempo de inicio normal.
Requisitos
Los nodos de inicio rápido no requieren configuración adicional. GKE usa automáticamente nodos de inicio rápido si tus cargas de trabajo usan configuraciones compatibles. Debes cumplir con todos los siguientes requisitos para usar nodos de inicio rápido:
- Usa clústeres de Autopilot o ejecuta cargas de trabajo en modo Autopilot en tus clústeres de Standard.
- No uses ninguna función que sea incompatible con los nodos de inicio rápido. Para obtener más información, consulta Limitaciones.
- Usa cualquiera de las configuraciones que se describen en la siguiente tabla:
| Recurso de procesamiento | Compatibilidad con canales y versiones de lanzamiento | Tipos y tamaños de discos de arranque admitidos |
|---|---|---|
| Plataforma de procesamiento optimizada para contenedores de Autopilot |
|
Discos pd-balanced de hasta 100 GiB |
| Serie de máquinas G2 |
|
Discos pd-balanced de hasta 500 GiB |
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 típico:
- G2 con la versión del controlador de GPU
DEFAULTen versiones de GKE anteriores a la 1.33.0-gke.1304000 En la versión 1.33.0-gke.1304000 o posterior, tantoLATESTcomoDEFAULTfuncionan con nodos de inicio rápido. - Discos de arranque secundarios en versiones anteriores a la 1.33.2-gke.1015000
- Claves de encriptación administradas por el cliente (CMEK)
- VMs Spot
- SSD locales
- Políticas de posición
- Compatibilidad con varias redes
Cargas de trabajo de GPU de Autopilot
Solicitar GPUs compatibles en el modo Autopilot genera un tiempo de inicio de nodos hasta cuatro veces más rápido y un tiempo de programación de Pods hasta dos veces más rápido que las solicitudes similares en el modo estándar de GKE, ya que las cargas de trabajo de GPU de Autopilot pueden usar nodos de inicio rápido.
Estos son algunos ejemplos de casos de uso: Sin embargo, cualquier Pod que cumpla con las condiciones de la sección Requisitos es compatible con los nodos de inicio rápido.
ComputeClass
Solicita un recuento y un tipo de acelerador compatibles en un 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 siguiente ejemplo, 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
Reemplaza los siguientes valores:
ACCELERATOR_COMPUTE_CLASS_NAME: Es el nombre de la ComputeClass que solicita los aceleradores.ACCELERATOR_TYPE: Es el tipo de acelerador.ACCELERATOR_COUNT: Es la cantidad de aceleradores que requiere el Pod. Este valor debe ser menor o igual que el valor del campospec.priorities.gpu.counten ComputeClass.POD_NAME: es el nombre del Pod.
Para obtener más información sobre ComputeClass, consulta Acerca de las clases de procesamiento personalizadas.
Especificación del Pod
Selecciona un tipo y un recuento de acelerador compatibles en la especificación del 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
Reemplaza los siguientes valores:
POD_NAME: es el nombre del Pod.ACCELERATOR_NAME: Es el nombre del acelerador que requiere el Pod.ACCELERATOR_COUNT: Es la cantidad de aceleradores que requiere el Pod.
Precios
Los nodos de inicio rápido están disponibles en GKE Autopilot sin cargo adicional. Si deseas obtener más información sobre los precios de GKE Autopilot, consulta la sección sobre el modo Autopilot en Precios de Google Kubernetes Engine.
¿Qué sigue?
- Acerca de la plataforma de procesamiento optimizada para contenedores de Autopilot
- Acerca de las clases de procesamiento personalizadas
- Descripción general del rendimiento de Persistent Disk