Sobre a inicialização mais rápida da carga de trabalho com nós de início rápido

Nesta página, mostramos como implantar e escalonar cargas de trabalho mais rapidamente em clusters do Google Kubernetes Engine (GKE) usando nós de inicialização rápida. Os nós de inicialização rápida são usados no GKE com o modo Autopilot da melhor maneira possível quando as cargas de trabalho usam configurações compatíveis.

Os nós do GKE de inicialização rápida têm um tempo de inicialização significativamente menor para famílias de máquinas compatíveis. O tempo de inicialização acelerado oferece os seguintes benefícios:

  • Inicialização a frio mais rápida
  • Escalonamento automático mais rápido
  • Melhoria na latência de cauda longa do agendamento de pods
  • Melhoria na eficiência de custos da infraestrutura

Com nós de inicialização rápida, o GKE pré-inicializa recursos de hardware para acelerar o tempo de inicialização. Os recursos pré-inicializados estão disponíveis com base no melhor esforço. As solicitações de aumento repentino podem ser atendidas apenas parcialmente. Sem nós de inicialização rápida, os recursos são inicializados sob demanda, e os nós são atendidos no tempo de inicialização normal.

Requisitos

Os nós de inicialização rápida não exigem configuração adicional. O GKE usa automaticamente nós de inicialização rápida se as cargas de trabalho usarem configurações compatíveis. Você precisa atender a todos os requisitos a seguir para usar nós de inicialização rápida:

  • Usar clusters do Autopilot.
  • Use qualquer versão no canal de lançamento rápido.
  • Use qualquer um dos seguintes recursos de computação compatíveis, com um tamanho máximo de disco de inicialização compatível de 500 GiB:

  • Use o tipo de disco de inicialização pd-balanced.

  • Não use recursos incompatíveis com nós de inicialização rápida. Para mais informações, consulte Limitações.

Limitações

Os seguintes recursos não são compatíveis com nós do GKE de inicialização rápida. Se você usar qualquer um desses recursos, o GKE vai provisionar nós com o tempo de inicialização típico:

Cargas de trabalho de GPU do Autopilot

Solicitar GPUs compatíveis nos clusters do Autopilot resulta em um tempo de inicialização de nós até quatro vezes mais rápido e um tempo de programação de pods até duas vezes mais rápido do que solicitações semelhantes em clusters do GKE Standard, porque as cargas de trabalho de GPU do Autopilot podem usar nós de inicialização rápida.

Confira alguns exemplos de casos de uso: No entanto, todos os pods que atendem às condições da seção Requisitos são compatíveis com nós de inicialização rápida.

ComputeClass

Solicite um tipo e uma contagem de aceleradores compatíveis em uma ComputeClass, como no exemplo a seguir:

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

Quando você seleciona essa ComputeClass em um pod, como no exemplo a seguir, o GKE usa nós de inicialização rápida:

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

Substitua os seguintes valores:

  • ACCELERATOR_COMPUTE_CLASS_NAME: o nome da ComputeClass que solicita os aceleradores.
  • ACCELERATOR_TYPE: o tipo de acelerador.
  • ACCELERATOR_COUNT: o número de aceleradores necessários para o pod. Esse valor precisa ser menor ou igual ao valor no campo spec.priorities.gpu.count em ComputeClass.
  • POD_NAME: o nome do pod.

Para mais informações sobre ComputeClass, consulte Sobre as classes de computação personalizadas.

Especificação do pod

Selecione um tipo e uma contagem de aceleradores compatíveis na especificação do pod, como no exemplo a seguir:

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

Substitua os seguintes valores:

  • POD_NAME: o nome do pod.
  • ACCELERATOR_NAME: o nome do acelerador exigido pelo pod.
  • ACCELERATOR_COUNT: o número de aceleradores necessários para o pod.

Preços

Os nós de inicialização rápida estão disponíveis no GKE Autopilot sem custo extra. Para mais informações sobre os preços do Autopilot do GKE, consulte a seção "Modo Autopilot" em Preços do Google Kubernetes Engine.

A seguir