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:
- GPUs NVIDIA L4 (série de máquinas G2)
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:
- Chaves de criptografia gerenciadas pelo cliente (CMEK)
- Spot VMs
- SSDs locais
- Políticas de posicionamento
- Suporte a várias redes
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 campospec.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
- Sobre a plataforma de computação otimizada para contêineres do Autopilot
- Sobre as classes de computação personalizadas
- Visão geral da performance do disco permanente