Acerca do arranque mais rápido da carga de trabalho com nós de arranque rápido

Esta página mostra como implementar e dimensionar cargas de trabalho mais rapidamente em clusters do Google Kubernetes Engine (GKE) através de nós de início rápido. Os nós de início rápido são usados no GKE com o modo Autopilot com base no melhor esforço quando as cargas de trabalho usam configurações compatíveis.

Os nós do GKE de início rápido têm um tempo de arranque significativamente inferior para famílias de máquinas compatíveis. O tempo de arranque acelerado oferece-lhe as seguintes vantagens:

  • Início a frio mais rápido
  • Escala automática mais rápida
  • Latência de cauda longa do agendamento de pods melhorada
  • Melhoria da eficiência dos custos de infraestrutura

Com nós de início rápido, o GKE pré-inicializa os recursos de hardware para acelerar o tempo de arranque. Os recursos pré-inicializados estão disponíveis com base no princípio do melhor esforço. Os pedidos de picos podem ser publicados apenas parcialmente. Sem nós de início rápido, os recursos são inicializados a pedido e os nós são publicados no tempo de início normal.

Requisitos

Os nós de início rápido não requerem configuração adicional. O GKE usa automaticamente nós de início rápido se as suas cargas de trabalho usarem configurações compatíveis. Tem de cumprir todos os seguintes requisitos para usar nós de início rápido:

  • Use 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 do disco de arranque compatível de 500 GiB:

  • Use o tipo de disco de arranque pd-balanced.

  • Não use funcionalidades incompatíveis com nós de início rápido. Para mais informações, consulte a secção Limitações.

Limitações

As seguintes funcionalidades não são compatíveis com nós do GKE de início rápido. Se usar qualquer uma destas funcionalidades, o GKE aprovisiona nós com o tempo de arranque típico:

Cargas de trabalho de GPU do Autopilot

Pedir GPUs compatíveis nos seus clusters do Autopilot resulta num tempo de arranque dos nós até quatro vezes mais rápido e num tempo de agendamento de pods até duas vezes mais rápido do que pedidos semelhantes em clusters padrão do GKE, porque as cargas de trabalho de GPU do Autopilot podem usar nós de arranque rápido.

Seguem-se alguns exemplos de utilização. No entanto, todos os pods que cumpram as condições da secção Requisitos são compatíveis com nós de início rápido.

ComputeClass

Peça um tipo e uma quantidade de acelerador compatíveis numa ComputeClass, como no exemplo seguinte:

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 seleciona esta ComputeClass num pod, como no exemplo seguinte, o GKE usa nós de início 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

Substitua os seguintes valores:

  • ACCELERATOR_COMPUTE_CLASS_NAME: o nome da ComputeClass que pede os aceleradores.
  • ACCELERATOR_TYPE: o tipo de acelerador.
  • ACCELERATOR_COUNT: o número de aceleradores necessários para o agrupamento. Este valor tem de ser igual ou inferior ao valor no campo spec.priorities.gpu.count na ComputeClass.
  • POD_NAME: o nome do seu Pod.

Para mais informações sobre a ComputeClass, consulte o artigo Acerca das classes de computação personalizadas.

Especificação do agrupamento

Selecione um tipo e uma quantidade de aceleradores compatíveis na especificação do agrupamento, como no exemplo seguinte:

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 seu Pod.
  • ACCELERATOR_NAME: o nome do acelerador necessário pelo pod.
  • ACCELERATOR_COUNT: o número de aceleradores necessários para o agrupamento.

Preços

Os nós de início rápido estão disponíveis no GKE Autopilot sem custo adicional. Para mais informações sobre os preços do GKE Autopilot, consulte a secção Modo Autopilot em Preços do Google Kubernetes Engine.

O que se segue?