Acerca de las ComputeClasses integradas en GKE


En esta página, se describen las ComputeClasses que Google Kubernetes Engine (GKE) instala en tus clústeres. Aprenderás sobre el nombre, la disponibilidad y la configuración de nodos de cada ComputeClass integrada. Esta página está dirigida a los ingenieros de plataformas y operadores de aplicaciones que desean tomar una decisión fundamentada sobre qué ComputeClasses están disponibles y cuál es la clase óptima para cargas de trabajo específicas.

Ya deberías conocer las ComputeClasses.

Descripción general de las clases de procesamiento integradas

Muchas cargas de trabajo de GKE son de uso general y no requieren hardware especializado, como servidores web o trabajos por lotes a pequeña escala. Para estas cargas de trabajo, la prioridad suele ser reducir la sobrecarga asociada con la administración manual de la infraestructura de nodos y la configuración del ajuste de escala automático.

GKE tiene varias ComputeClasses integradas para casos de uso como la ejecución de cargas de trabajo de Autopilot en clústeres de Standard o la colocación de cargas de trabajo de uso general tolerantes a fallas en VMs Spot. Usa una ComputeClass integrada para las cargas de trabajo que no requieren hardware específico (como GPUs) o parámetros de configuración de nodos específicos (como marcas sysctl de Linux). Si tus cargas de trabajo necesitan hardware más especializado, usa una ComputeClass personalizada.

ComputeClasses integradas disponibles en GKE

En la siguiente tabla, se describen las ComputeClasses integradas que están disponibles en GKE:

ComputeClasses integradas
autopilot

Crea nodos a pedido que usen la plataforma de procesamiento optimizada para contenedores de Autopilot. Esta ComputeClass es la predeterminada para los clústeres de Autopilot en cualquier versión de GKE, pero está disponible para la selección explícita en versiones específicas de GKE.

Esta es una ComputeClass de Autopilot, lo que significa que GKE administra los nodos por ti incluso en los clústeres estándar. Puedes usar esta ComputeClass para ejecutar cargas de trabajo del modo Autopilot en clústeres de Standard.

Disponible en clústeres de Autopilot y clústeres estándar que están inscritos en el canal de versiones rápido y ejecutan la versión 1.33.1-gke.1107000 de GKE o posterior.

autopilot-spot

Crea VMs Spot que usen la plataforma de procesamiento optimizada para contenedores de Autopilot. Esta ComputeClass se aplica de forma predeterminada a todos los Pods de los clústeres de Autopilot que seleccionan de forma explícita VMs Spot en la especificación del Pod.

Esta es una ComputeClass de Autopilot, lo que significa que GKE administra los nodos por ti incluso en los clústeres estándar. Puedes usar esta ComputeClass para ejecutar cargas de trabajo del modo Autopilot en clústeres de Standard.

Disponible en clústeres de Autopilot y clústeres estándar que están inscritos en el canal de versiones rápido y ejecutan la versión 1.33.1-gke.1107000 de GKE o posterior.

Precios

Autopilot te factura de manera diferente según la ComputeClass que soliciten tus Pods. Para obtener más información, consulta los precios de Google Kubernetes Engine.

Selección de ComputeClass integrada en las cargas de trabajo

Para seleccionar una ComputeClass integrada o personalizada cuando implementas una carga de trabajo de GKE, selecciona la etiqueta cloud.google.com/compute-class en el manifiesto de tu carga de trabajo, como en el siguiente ejemplo:

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: "4Gi"

En este ejemplo, COMPUTE_CLASS es el nombre de una clase de procesamiento. No puedes seleccionar más de una clase de procesamiento en una carga de trabajo específica.

Cuando implementas una carga de trabajo que selecciona un ComputeClass, GKE usa las propiedades de ese ComputeClass para crear nodos nuevos que ejecuten los Pods. Por ejemplo, si seleccionas la ComputeClass autopilot integrada en una carga de trabajo, GKE ejecuta esos Pods en modo Autopilot.

Aplicación predeterminada de ComputeClasses integradas

Puedes establecer cualquier ComputeClass en un clúster como la ComputeClass predeterminada para un espacio de nombres específico. GKE aplica esa clase predeterminada a los Pods que no seleccionan de forma explícita una ComputeClass.

Por ejemplo, considera un clúster estándar que ejecuta muchos Pods de servidor web de uso general en un espacio de nombres serving. Si estableces la ComputeClass autopilot integrada como predeterminada para el espacio de nombres, tus Pods de servidor web se ejecutarán de forma predeterminada en la plataforma de procesamiento optimizada para contenedores de Autopilot, sin necesidad de realizar cambios en las especificaciones de la carga de trabajo. Cualquier carga de trabajo en ese espacio de nombres que necesite hardware diferente puede agregar un selector para una ComputeClass diferente.

Para obtener más información sobre cómo establecer un ComputeClass como predeterminado en un espacio de nombres, consulta Configura un ComputeClass predeterminado para un espacio de nombres.

¿Qué sigue?