Acerca del inicio más rápido de cargas de trabajo con nodos de inicio rápido

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:

  • 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:

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 campo spec.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?