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 Pod
- 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:
- Usar clústeres de Autopilot
- Usa cualquier versión en el canal de versiones rápido.
Usa cualquiera de los siguientes recursos de procesamiento 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 uses 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 típico:
- 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 tus clústeres de 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 los clústeres de GKE Standard, 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.count
en 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