Sobre as ComputeClasses integradas no GKE

Nesta página, descrevemos as ComputeClasses que o Google Kubernetes Engine (GKE) instala nos seus clusters. Você vai aprender sobre o nome, a disponibilidade e a configuração de nó de cada ComputeClass integrada. Esta página é destinada a engenheiros de plataforma e operadores de apps que querem fazer uma escolha informada sobre quais ComputeClasses estão disponíveis e qual classe é ideal para cargas de trabalho específicas.

Você já deve estar familiarizado com as ComputeClasses.

Visão geral das ComputeClasses integradas

Muitas cargas de trabalho do GKE são de uso geral e não exigem hardware especializado, como servidores da Web ou jobs em lote de pequena escala. Para essas cargas de trabalho, a prioridade geralmente é reduzir a sobrecarga associada ao gerenciamento manual da infraestrutura de nós e da configuração de escalonamento automático.

O GKE tem várias ComputeClasses integradas para casos de uso como execução de cargas de trabalho do Autopilot em clusters padrão ou colocação de cargas de trabalho de uso geral tolerantes a falhas em VMs do Spot. Use uma ComputeClass integrada para cargas de trabalho que não exigem hardware específico (como GPUs) ou configurações de nós específicas (como flags sysctl do Linux). Se as cargas de trabalho precisarem de hardware mais especializado, use uma ComputeClass personalizada.

ComputeClasses integradas disponíveis no GKE

A tabela a seguir descreve as ComputeClasses integradas disponíveis no GKE:

ComputeClasses integradas
autopilot

Crie nós x86 sob demanda que usam a plataforma de computação otimizada para contêineres do Autopilot. Essa ComputeClass é a padrão para clusters do Autopilot em qualquer versão do GKE, mas está disponível para seleção explícita em versões específicas do GKE.

Essa é uma ComputeClass do Autopilot, o que significa que o GKE gerencia os nós para você, mesmo em clusters Standard. É possível usar essa ComputeClass para executar cargas de trabalho do modo Autopilot em clusters Standard.

Disponível em clusters do Autopilot e Standard que executam a versão 1.34.1-gke.1829001 ou mais recente do GKE.

autopilot-spot

Crie VMs Spot que usam a plataforma de computação otimizada para contêineres do Autopilot. Essa ComputeClass é aplicada por padrão a todos os pods em clusters do Autopilot que selecionam explicitamente VMs do Spot na especificação do pod.

Essa é uma ComputeClass do Autopilot, o que significa que o GKE gerencia os nós para você, mesmo em clusters Standard. É possível usar essa ComputeClass para executar cargas de trabalho do modo Autopilot em clusters Standard.

Disponível em clusters do Autopilot e Standard que executam a versão 1.34.1-gke.1829001 ou mais recente do GKE.

autopilot-arm

Crie nós Arm sob demanda que usam a plataforma de computação otimizada para contêineres do Autopilot. Essa plataforma não tem geração, o que significa que ela não está vinculada a uma família de máquinas específica. Isso a diferencia da especificação de uma série de máquinas como C4A, N4A ou T2A. Recomendamos usar a autopilot-arm ComputeClass para cargas de trabalho Arm de uso geral.

Disponível em clusters do Autopilot que executam o GKE versão 1.35.3-gke.1389000 ou mais recente. Esse recurso está disponível apenas nas seguintes regiões: us-east1, us-west1, europe-west1, europe-west4 e us-central1.

A classe de computação autopilot-arm só está disponível no Autopilot.

Para conferir as especificações dessas ComputeClasses integradas, use o comando kubectl get:

kubectl get computeclass COMPUTECLASS_NAME -o yaml

Preços

O faturamento do Autopilot varia de acordo com a ComputeClass solicitada pelos seus pods. Para mais informações, consulte Preços do Google Kubernetes Engine.

Seleção integrada de ComputeClass em cargas de trabalho

Para selecionar uma ComputeClass integrada ou personalizada ao implantar uma carga de trabalho do GKE, selecione o rótulo cloud.google.com/compute-class no manifesto da carga de trabalho, como no exemplo a seguir:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: helloweb
  labels:
    app: hello
spec:
  selector:
    matchLabels:
      app: hello
  template:
    metadata:
      labels:
        app: hello
    spec:
      nodeSelector:
        # Replace with the name of a compute class
        cloud.google.com/compute-class: COMPUTE_CLASS 
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: "250m"
            memory: "1Gi"

Neste exemplo, COMPUTE_CLASS é o nome de uma classe de computação. Não é possível selecionar mais de uma ComputeClass em uma carga de trabalho específica.

Quando você implanta uma carga de trabalho que seleciona uma ComputeClass, o GKE usa as propriedades dessa ComputeClass para criar novos nós e executar os pods. Por exemplo, se você selecionar a autopilot ComputeClass integrada em uma carga de trabalho, o GKE executará esses pods no modo Autopilot.

Aplicação padrão de ComputeClasses integradas

É possível definir qualquer ComputeClass em um cluster como a ComputeClass padrão para um namespace específico ou para um cluster inteiro. O GKE aplica essa ComputeClass a todos os pods que não selecionam explicitamente uma ComputeClass diferente. Para definir uma ComputeClass integrada como padrão, faça uma destas ações:

  • Para definir a ComputeClass como padrão do namespace, adicione um rótulo para a ComputeClass ao namespace.
  • Para definir a ComputeClass como padrão no nível do cluster, crie uma nova ComputeClass chamada default com as mesmas regras de prioridade da ComputeClass integrada.

Para mais informações sobre como definir uma ComputeClass como padrão para um namespace ou um cluster, consulte Aplicar ComputeClasses aos pods por padrão.

Por exemplo, considere um cluster padrão que executa muitos pods de uso geral, como servidores da Web ou jobs em lote pequenos. Se você definir uma ComputeClass que imita a autopilot integrada como padrão para o cluster, essas cargas de trabalho de uso geral serão executadas na plataforma de computação otimizada para contêineres do Autopilot sem necessidade de mudanças nas especificações da carga de trabalho. As cargas de trabalho que precisam de hardware diferente podem adicionar um seletor para uma ComputeClass específica.

A seguir