À propos du démarrage plus rapide des charges de travail avec les nœuds à démarrage rapide

Cette page explique comment déployer et mettre à l'échelle des charges de travail plus rapidement dans les clusters Google Kubernetes Engine (GKE) à l'aide de nœuds à démarrage rapide. Les nœuds à démarrage rapide sont utilisés dans GKE avec le mode Autopilot au mieux de leurs capacités lorsque les charges de travail utilisent des configurations compatibles.

Les nœuds GKE à démarrage rapide ont un temps de démarrage beaucoup plus court pour les familles de machines compatibles. L'accélération du temps de démarrage présente les avantages suivants :

  • Démarrage à froid plus rapide
  • Autoscaling plus rapide
  • Amélioration de la latence longue queue de la planification des pods
  • Amélioration de la rentabilité de l'infrastructure

Avec les nœuds à démarrage rapide, GKE pré-initialise les ressources matérielles pour accélérer le temps de démarrage. Les ressources pré-initialisées sont disponibles selon le principe du "meilleur effort". Il est possible que les demandes de pics de trafic ne soient traitées que partiellement. Sans nœuds à démarrage rapide, les ressources sont initialisées à la demande et les nœuds sont diffusés au moment du démarrage normal.

Conditions requises

Les nœuds à démarrage rapide ne nécessitent aucune configuration supplémentaire. GKE utilise automatiquement des nœuds à démarrage rapide si vos charges de travail utilisent des configurations compatibles. Pour utiliser les nœuds à démarrage rapide, vous devez remplir toutes les conditions suivantes :

  • Utilisez des clusters Autopilot.
  • Utilisez n'importe quelle version dans le canal de publication rapide.
  • Utilisez l'une des ressources de calcul compatibles suivantes, avec une taille maximale de disque de démarrage compatible de 500 Gio :

  • Utilisez le type de disque de démarrage pd-balanced.

  • N'utilisez aucune fonctionnalité incompatible avec les nœuds à démarrage rapide. Pour en savoir plus, consultez Limites.

Limites

Les fonctionnalités suivantes ne sont pas compatibles avec les nœuds GKE à démarrage rapide. Si vous utilisez l'une de ces fonctionnalités, GKE provisionne des nœuds avec le temps de démarrage habituel :

Charges de travail GPU Autopilot

Si vous demandez des GPU compatibles dans vos clusters Autopilot, le temps de démarrage des nœuds est jusqu'à quatre fois plus rapide et le temps de planification des pods jusqu'à deux fois plus rapide que pour des demandes similaires dans les clusters GKE Standard, car les charges de travail GPU Autopilot peuvent utiliser des nœuds à démarrage rapide.

Voici quelques exemples d'utilisation. Toutefois, tous les pods qui remplissent les conditions de la section Exigences sont compatibles avec les nœuds à démarrage rapide.

ComputeClass

Demandez un type et un nombre d'accélérateurs compatibles dans une ComputeClass, comme dans l'exemple suivant :

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

Lorsque vous sélectionnez cette ComputeClass dans un pod, comme dans l'exemple suivant, GKE utilise des nœuds à démarrage rapide :

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

Remplacez les valeurs suivantes :

  • ACCELERATOR_COMPUTE_CLASS_NAME : nom de la ComputeClass qui demande les accélérateurs.
  • ACCELERATOR_TYPE : type d'accélérateur.
  • ACCELERATOR_COUNT : nombre d'accélérateurs requis par le pod. Cette valeur doit être inférieure ou égale à celle du champ spec.priorities.gpu.count dans ComputeClass.
  • POD_NAME : nom de votre pod.

Pour en savoir plus sur ComputeClass, consultez À propos des classes de calcul personnalisées.

Pod specification

Sélectionnez un type et un nombre d'accélérateurs compatibles dans la spécification de votre pod, comme dans l'exemple suivant :

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

Remplacez les valeurs suivantes :

  • POD_NAME : nom de votre pod.
  • ACCELERATOR_NAME : nom de l'accélérateur requis par le pod.
  • ACCELERATOR_COUNT : nombre d'accélérateurs requis par le pod.

Tarifs

Les nœuds à démarrage rapide sont disponibles dans GKE Autopilot sans frais supplémentaires. Pour en savoir plus sur la tarification de GKE Autopilot, consultez la section "Mode Autopilot" de la page Tarifs de Google Kubernetes Engine.

Étapes suivantes