Descripción general de Autopilot


En esta página, se describe el modo de operación Autopilot en Google Kubernetes Engine (GKE) y se proporcionan recursos que puedes usar para planificar, configurar y administrar tus clústeres.

Esta página está destinada a administradores, arquitectos y operadores que definen soluciones de TI y arquitectura del sistema. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud, consulta Tareas y roles comunes de los usuarios de GKE Enterprise.

¿Qué es Autopilot?

Autopilot de GKE es un modo de operación en GKE en el que Google administra la configuración de tu clúster, incluidos tus nodos, escalamiento, seguridad y otros parámetros de configuración ya establecidos. Los clústeres de Autopilot están optimizados para ejecutar la mayoría de las cargas de trabajo de producción y aprovisionar recursos de procesamiento según los manifiestos de Kubernetes. La configuración optimizada sigue las prácticas recomendadas y las recomendaciones de GKE para la configuración de clústeres, cargas de trabajo y escalabilidad. Para obtener una lista de configuración integrada, consulta la tabla de comparación Autopilot y Standard.

Precios

En la mayoría de las situaciones, solo pagas por la CPU, la memoria y el almacenamiento que solicitan tus cargas de trabajo mientras se ejecutan en GKE Autopilot. No se te cobra la capacidad sin usar en los nodos, ya que GKE administra los nodos.

N se te cobrarán los Pods del sistema, los costos del sistema operativo ni las cargas de trabajo no programadas. Para obtener información detallada sobre los precios, consulta Precios de Autopilot.

Beneficios

  • Enfócate en tus apps: Google administra la infraestructura para que puedas enfocarte en implementar y compilar tus aplicaciones.
  • Seguridad: Los clústeres tienen una configuración endurecida predeterminada, con muchas opciones de configuración de seguridad habilitadas de forma predeterminada. GKE aplica de forma automática parches de seguridad a los nodos cuando están disponibles, de acuerdo con los programas de mantenimiento que configuraste.
  • Precios: El modelo de precios de Autopilot simplifica las previsiones y la atribución de facturación.
  • Administración de nodos: Google administra los nodos trabajadores, por lo que no necesitas crear nodos nuevos para alojar tus cargas de trabajo o configurar actualizaciones y reparaciones automáticas.
  • Escalamiento: Cuando tus cargas de trabajo experimentan una carga alta y agregas más Pods para alojar el tráfico, como con el ajuste de escala automático horizontal de Pods de Kubernetes, GKE aprovisiona de forma automática nodos nuevos para esos Pods. y expande los recursos en tus nodos existentes de forma automática según sea necesario.
  • Programación: Autopilot administra el empaquetado de Pods por ti, de modo que no tienes que pensar en cuántos Pods se ejecutan en cada nodo. Puedes controlar aún más la posición del pod mediante mecanismos de Kubernetes como la afinidad y la topología de distribución de pods.
  • Administración de recursos: Si implementas cargas de trabajo sin establecer valores de recursos como CPU y memoria, Autopilot establece automáticamente los valores predeterminados preconfigurados y modifica tus solicitudes de recursos a nivel de la carga de trabajo.
  • Herramientas de redes: Autopilot habilita algunas funciones de seguridad de red de forma predeterminada, como garantizar que todo el tráfico de red de pods pase por las reglas de firewall de tu nube privada virtual, incluso si el tráfico se dirige a otros pods. en el clúster.
  • Administración de versiones: todos los clústeres de Autopilot están inscritos en un canal de versiones de GKE, lo que garantiza que tu plano de control y tus nodos se ejecuten en las últimas versiones calificadas en ese canal.
  • Flexibilidad administrada: Si tus cargas de trabajo tienen requisitos específicos de hardware o recursos, como alta CPU o memoria, Autopilot ofrece clases de procesamiento preconfiguradas. creadas para esas cargas de trabajo. Tú solicitas la clase de procesamiento en la implementación en lugar de tener que crear de forma manual nodos nuevos que tengan respaldo de hardware y tipos de máquina personalizados. También puedes seleccionar GPU para acelerar cargas de trabajo como aplicaciones por lotes o de IA o AA.
  • Reducción de la complejidad operativa: Autopilot reduce la sobrecarga de administración de la plataforma, ya que quita la necesidad de supervisar nodos, escalamiento y programar operaciones de forma continua.

Autopilot incluye un SLA que cubre el plano de control y la capacidad de procesamiento que usan tus pods.

Planifica tus clústeres de Autopilot

Antes de crear un clúster, planifica y diseña tu arquitectura de Google Cloud. En Autopilot, solicitas hardware en las especificaciones de tu carga de trabajo. GKE aprovisiona y administra la infraestructura correspondiente para ejecutar esas cargas de trabajo. Por ejemplo, si ejecutas cargas de trabajo de aprendizaje automático, pides aceleradores de hardware. Si desarrollas apps para Android, debes solicitar CPU Arm.

Planifica y solicita la cuota de tu organización o proyecto de Google Cloud según la escala de tus cargas de trabajo. GKE solo puede aprovisionar la infraestructura para tus cargas de trabajo si tu proyecto tiene suficiente cuota para ese hardware.

Ten en cuenta los siguientes factores durante la planificación:

  • Tamaño y escala estimados del clúster
  • Tipo de carga de trabajo
  • Diseño y uso del clúster
  • Diseño y configuración de las herramientas de redes
  • Configuración de seguridad
  • Administración y mantenimiento de clústeres
  • Implementación y administración de cargas de trabajo
  • Registro y supervisión

En las siguientes secciones, se proporciona información y recursos útiles para estas consideración.

Redes

Cuando creas un clúster de Autopilot con redes públicas, las cargas de trabajo en el clúster pueden comunicarse entre sí y con Internet. Este es el modo de Herramientas de redes predeterminado. Google Cloud y Kubernetes proporcionan varias características y funciones adicionales de red que puedes aprovechar según tu caso de uso, como clústeres con redes privadas.

Las herramientas de redes en Kubernetes y la nube son complejas. Antes de comenzar a cambiar los valores predeterminados que Google Cloud establece para ti, asegúrate de estar familiarizado con los conceptos básicos de las herramientas de redes. En la siguiente tabla, se proporcionan recursos para obtener más información sobre las herramientas de redes en GKE según tu caso de uso:

Caso de uso Recursos
Comprende cómo funcionan las herramientas de redes en Kubernetes y GKE

Después de aprender el modelo de red, considera los requisitos de seguridad de red y de red de tu organización. Elige las funciones de herramientas de redes de GKE y Google Cloud que cumplan con esos criterios.

Planifica la configuración de red de GKE

Te recomendamos que comprendas las cuotas de herramientas de redes para GKE, como los extremos por servicio y los límites de solicitudes a la API. Los siguientes recursos te ayudarán a planificar aspectos específicos de la configuración de red:

Expón tus cargas de trabajo
Ejecuta servicios conectados con alta disponibilidad en varios clústeres Usa los Services de varios clústeres (MCS).
Balanceo de cargas de tráfico entrante
Configura la seguridad de la red del clúster
  • Para controlar o evitar el acceso a tu clúster desde la Internet pública, crea clústeres privados.
  • Para restringir el acceso al plano de control a rangos de direcciones IP específicos, usa redes autorizadas del plano de control.
  • Para controlar el tráfico de los Pods, usa políticas de red. La aplicación de la política de red está disponible con GKE Dataplane V2, que está habilitado de forma predeterminada en los clústeres de Autopilot. Para obtener instrucciones, consulta políticas de red.
Observa tu tráfico de red de Kubernetes

De forma predeterminada, Autopilot usa GKE Dataplane V2 para las métricas y la observabilidad.

  • A fin de transferir las métricas de GKE Dataplane V2, configura el Google Managed Service for Prometheus. De forma predeterminada, las métricas de GKE Dataplane V2 se exponen en GKE Autopilot.
  • Para acceder a las visualizaciones, los veredictos de políticas de red y los volcados de flujo, configura herramientas de solución de problemas adicionales mediante la observabilidad de GKE Dataplane V2.

Escalamiento

Operar una plataforma de manera efectiva a gran escala requiere planificación y consideración cuidadosas. Debes considerar la escalabilidad de tu diseño, que es la capacidad de tus clústeres para crecer dentro de los objetivos de nivel de servicio (SLO). A fin de obtener orientación detallada para los administradores y desarrolladores de la plataforma, consulta los Lineamientos para crear clústeres escalables.

También debes considerar las cuotas y límites de GKE, en especial si planeas ejecutar clústeres grandes con posibles miles de pods.

Escala las cargas de trabajo de Autopilot

En Autopilot, GKE escala los nodos automáticamente en función de la cantidad de pods en el clúster. Si un clúster no tiene cargas de trabajo en ejecución, Autopilot puede reducir automáticamente la escala del clúster a cero nodos. En la mayoría de los clústeres de Autopilot recién creados, es posible que notes que las primeras cargas de trabajo que implementas toman más tiempo en programarse. Esto se debe a que el nuevo clúster de Autopilot comienza con cero nodos utilizables durante la creación y espera hasta que implementes una carga de trabajo para aprovisionar nodos adicionales.

Para escalar automáticamente la cantidad de Pods en tu clúster, te recomendamos que uses un mecanismo como el ajuste automático de escala horizontal de Pods de Kubernetes, que puede escalar los Pods según la compilación en métricas de CPU y memoria, o métricas personalizadas de Cloud Monitoring. Para aprender a configurar el escalamiento según varias métricas, consulta Optimiza el ajuste de escala automático de Pods según las métricas.

Seguridad

Los clústeres de Autopilot habilitan y aplican las prácticas recomendadas y la configuración de seguridad de forma predeterminada, incluidas muchas de las recomendaciones en Endurece la seguridad del clúster y la descripción general de seguridad de GKE..

Si deseas obtener más información sobre las medidas de endurecimiento de Autopilot y cómo implementar tus requisitos de seguridad específicos, consulta Medidas de seguridad en Autopilot.

Crea un clúster

Después de planificar tu entorno y comprender tus requisitos, crea un clúster de Autopilot. Los clústeres nuevos de Autopilot son clústeres regionales que tienen una dirección IP de acceso público. Cada clúster tiene medidas de endurecimiento del modelo de referencia, así como ajuste de escala automático y otras funciones. Para obtener una lista completa de las funciones preconfiguradas, consulta Compara Autopilot y Standard.

Si deseas crear el clúster sin una dirección IP pública, crea un clúster privado.

Implementa cargas de trabajo en Autopilot

Para implementar una carga de trabajo en un clúster de Autopilot en ejecución, escribe un manifiesto de Kubernetes y aplícalo al clúster. De forma predeterminada, los clústeres de Autopilot están optimizados para ejecutar la mayoría de las cargas de trabajo de producción.

Para obtener una guía interactiva en la consola de Google Cloud a fin de implementar y exponer una app, haz clic en Guiarme:

Guiarme

Algunas de tus cargas de trabajo pueden tener requisitos de hardware especializado, como cargas de trabajo de AA que necesitan aceleradores de hardware o pruebas de apps para dispositivos móviles que requieren la arquitectura Arm. Autopilot tiene clases de procesamiento que Google Cloud configuró para ejecutar cargas de trabajo que tienen requisitos de procesamiento especiales. Si tienes requisitos de hardware más específicos, puedes definir tus propias clases de procesamiento personalizadas. Cuando implementes estas cargas de trabajo, solicita una clase de procesamiento en el manifiesto. Autopilot aprovisiona de forma automática los nodos respaldados por máquinas especializadas, administra la programación y asigna hardware.

En la siguiente tabla, se muestran algunos requisitos comunes y se proporcionan recomendaciones para lo que debes hacer:

Caso de uso Recursos
Controla las propiedades de los nodos individuales cuando escales un clúster Implementa una clase de procesamiento personalizada y solicítala en el manifiesto de tu carga de trabajo. Para obtener más información, consulta Acerca de las clases de procesamiento personalizadas.
Ejecutar cargas de trabajo de Arm Solicita la clase de procesamiento Scale-Out y la arquitectura arm64 en tu manifiesto. Para obtener instrucciones, consulta Implementa Pods de Autopilot en la arquitectura Arm.
Ejecuta cargas de trabajo de IA/AA aceleradas Solicita las GPU en tu manifiesto. Para obtener instrucciones, consulta Implementa cargas de trabajo de GPU en Autopilot.
Ejecuta cargas de trabajo que requieran alta capacidad de procesamiento o memoria Solicita la clase de procesamiento Balanced. Si deseas obtener instrucciones, consulta Elige clases de procesamiento para Pods de Autopilot.
Ejecuta cargas de trabajo que requieran un escalamiento horizontal más eficiente de la capacidad de CPU y el procesamiento de un solo subproceso por núcleo Solicita la clase de procesamiento Scale-Out. Si deseas obtener instrucciones, consulta Elige clases de procesamiento para Pods de Autopilot.
Ejecuta cargas de trabajo tolerantes a errores, como trabajos por lotes a menores costos Especifica Spot Pods en tu manifiesto. Para obtener instrucciones, consulta Ejecuta cargas de trabajo tolerantes a errores a costos más bajos en Spot Pods. Puedes usar cualquier clase de procesamiento o configuración de hardware con Pods Spot.
Ejecuta cargas de trabajo que requieran interrupciones mínimas, como servidores de juegos o colas de trabajo Especifica la anotación cluster-autoscaler.kubernetes.io/safe-to-evict=false en la especificación del Pod. Los Pods están protegidos contra la expulsión causada por las actualizaciones automáticas de los nodos o los eventos de reducción de escala verticalmente hasta por siete días. Para obtener instrucciones, consulta Extiende el tiempo de ejecución de los Pods de Autopilot.
Permite que las cargas de trabajo aumenten más allá de sus solicitudes si hay recursos disponibles sin usar en la suma de solicitudes de recursos de Pod en el nodo. Establece el limits de tu recurso más alto que el requests o no establezcas límites de recursos. Para obtener más instrucciones, consulta Configura el aumento de actividad de Pods en GKE.

Autopilot te permite solicitar recursos de almacenamiento efímero, memoria y CPU para tus cargas de trabajo. Los rangos permitidos dependen de si deseas ejecutar los Pods en la plataforma de procesamiento predeterminada de uso general o en una clase de procesamiento.

Para obtener información sobre las solicitudes de recursos de contenedor predeterminadas y los rangos de recursos permitidos, consulta Solicitudes de recursos en Autopilot.

Separación de cargas de trabajo

Los clústeres de Autopilot admiten el uso de selectores de nodos y la afinidad de nodos para configurar la separación de cargas de trabajo. La separación de cargas de trabajo es útil cuando necesitas indicarle a GKE que coloque cargas de trabajo en nodos que cumplan con criterios específicos, como las etiquetas de nodo personalizadas. Por ejemplo, puedes indicarle a GKE que programe Pods de servidores para videojuegos en nodos con la etiqueta game-server y que evite programar cualquier otro Pod en esos nodos.

Para obtener más información, consulta Configura la separación de cargas de trabajo en GKE.

Programa Pods en zonas específicas mediante la topología zonal

Si necesitas colocar Pods en una zona específica de Google Cloud, por ejemplo, para acceder a la información de un disco persistente de Compute Engine zonal, consulta Coloca Pods de GKE en zonas específicas.

Afinidad y antiafinidad de Pods

Usar la afinidad y la antiafinidad de Pods para ubicar Pods en un solo nodo o hacer que algunos se eviten entre ellos. La afinidad y antiafinidad de Pods le indican a Kubernetes que tome una decisión de programación según las etiquetas de los Pods que se ejecutan en nodos de un dominio de topología específico, como una región o una zona específica. Por ejemplo, puedes indicarle a GKE que evites programar Pods de frontend junto con otros Pods de frontend en los mismos nodos para mejorar la disponibilidad en caso de una interrupción.

Para obtener instrucciones y más detalles, consulta Afinidad y antiafinidad de Pods.

En GKE, puedes usar la afinidad y la antiafinidad de Pods con las siguientes etiquetas en topologyKey:

  • topology.kubernetes.io/zone
  • kubernetes.io/hostname

Restricciones de distribución de topología de Pods

Para mejorar la disponibilidad de tus cargas de trabajo a medida que Kubernetes aumenta y reduce la cantidad de Pods, puedes establecer restricciones de dispersión de la topología de pod. Esto controla cómo Kubernetes distribuye tus Pods en los nodos dentro de un dominio de topología, como una región. Por ejemplo, puedes indicarle a Kubernetes que coloque una cantidad específica de Pods de sesión del servidor de videojuegos en cada una de las tres zonas de Google Cloud en la región us-central1.

Para obtener instrucciones y más detalles, consulta Restricciones de distribución de la topología de Pod.

Administra y supervisa tus clústeres de Autopilot

En Autopilot, GKE administra automáticamente las actualizaciones y el mantenimiento del clúster para el plano de control y los nodos trabajadores. Los clústeres de Autopilot también tienen una funcionalidad integrada para que supervises tus clústeres y cargas de trabajo.

Actualizaciones de versiones de GKE

Todos los clústeres de Autopilot se inscriben en un canal de versiones de GKE. En los canales de versiones, GKE administra la versión de Kubernetes del clúster y equilibra la disponibilidad de las funciones y la estabilidad de la versión según el canal. De forma predeterminada, los clústeres de Autopilot se inscriben en el canal de versiones regular, pero puedes seleccionar un canal diferente que satisfaga tus necesidades de estabilidad y funcionalidad. Para obtener más información sobre los canales de versiones, consulta Acerca de los canales de versiones.

GKE inicia automáticamente las actualizaciones, supervisa el progreso y pausa la operación si se producen problemas. Puedes controlar de forma manual el proceso de actualización de las siguientes maneras:

  • Para controlar cuándo GKE puede realizar actualizaciones automáticas, crea períodos de mantenimiento. Por ejemplo, puedes establecer el período de mantenimiento para la noche anterior al restablecimiento semanal del juego multijugador, de modo que los jugadores puedan acceder al restablecimiento sin interrupciones.
  • Para controlar cuándo GKE no puede iniciar actualizaciones automáticas durante un período específico, usa las exclusiones de mantenimiento. Por ejemplo, puedes establecer una exclusión de mantenimiento para la duración de tus eventos de ventas del Black Friday y el Cyber Monday, de modo que tus clientes puedan comprar sin problemas.
  • Para obtener una versión nueva antes de que se inicien las actualizaciones automáticas, actualiza el plano de control de forma manual. GKE concilia la versión del nodo con la versión del plano de control en el tiempo.
  • Para obtener una versión del parche que solo está disponible en un canal de versiones más reciente, consulta Ejecuta versiones de parches desde un canal más reciente. Por ejemplo, es posible que necesites una versión del parche específica para mitigar una divulgación de vulnerabilidades reciente.

Supervisa tus clústeres de Autopilot

Los clústeres de Autopilot ya tienen habilitado Cloud Logging, Cloud Monitoring y Google Cloud Managed Service para Prometheus.

Los clústeres de Autopilot recopilan los siguientes tipos de registros y métricas automáticamente y cumplen con las prácticas recomendadas de Google para la recopilación de telemetría:

Registros para Cloud Logging

  • Registros del sistema
  • Registros de cargas de trabajo
  • Registros de auditoría de actividad del administrador
  • Registros de auditoría de acceso a los datos

Métricas de Cloud Monitoring

  • Métricas del sistema
  • Métricas de cargas de trabajo (del servicio administrado para Prometheus)

No se requiere ninguna configuración adicional para habilitar el registro y la supervisión. En la siguiente tabla, se muestra cómo interactuar con la telemetría recopilada según tus requisitos:

Caso de uso Recursos
Comprende tus registros de GKE y accede a ellos
  • Para obtener más información sobre los tipos de registros que recopilamos automáticamente, consulta Qué registros se recopilan.
  • Para acceder a los registros y usar la interfaz de usuario de Cloud Logging en la consola de Google Cloud, consulta Visualiza los registros de GKE.
  • Si deseas ver consultas de muestra que puedes usar para filtrar los registros de cargas de trabajo y del sistema de Kubernetes, visita Consultas relacionadas con Kubernetes.
  • Si deseas ver consultas de muestra que puedes usar para filtrar los registros de auditoría acceso a los datos y de actividad del administradors, consulta Información de registros de auditoría de GKE.
  • Para configurar registros de entornos de multiusuarios, por ejemplo, cuando los equipos tienen espacios de nombres específicos en un solo clúster de GKE, pero cada equipo tiene su propio proyecto de Google Cloud, consulta Registro de multiusuario en GKE..
Observa el rendimiento de tus clústeres de GKE

Una supervisión eficaz del rendimiento de los clústeres puede ayudarte a optimizar los costos operativos de los clústeres y las cargas de trabajo.

Supervisa la postura de seguridad de tus clústeres Usa el panel de postura de seguridad para auditar tus cargas de trabajo en ejecución en función de las prácticas recomendadas de GKE, analizar las vulnerabilidades en tus sistemas operativos de contenedores y paquetes de lenguaje, y obtener recomendaciones prácticas de mitigación. Para obtener más información, consulta Acerca del panel de postura de seguridad.

Soluciona problemas

Para conocer los pasos de solución de problemas, consulta Soluciona problemas de clústeres de Autopilot.

¿Qué sigue?