Descripción general de GKE Autopilot

Autopilot es un modo de operación administrado en Google Kubernetes Engine (GKE). En esta página, se describen los beneficios del modo Autopilot y se proporciona información para planificar clústeres, implementar cargas de trabajo y configurar redes y seguridad. Los administradores, los arquitectos y los operadores pueden usar esta información para tomar decisiones fundamentadas cuando evalúen cómo el modo Autopilot de GKE se alinea con los requisitos operativos de sus cargas de trabajo en contenedores.

Para obtener más información sobre las diferencias entre los modos de operación en GKE, consulta Compara GKE Autopilot y Standard.

¿Qué es Autopilot?

Autopilot de GKE es un modo de operación en GKE en el que Google administra la configuración de tu infraestructura, incluidos los nodos, el escalamiento, la seguridad y otros parámetros de configuración ya establecidos. El modo Autopilot está optimizado para ejecutar la mayoría de las cargas de trabajo de producción y aprovisiona recursos de procesamiento según tus manifiestos de Kubernetes.

Puedes ejecutar un clúster completo en el modo Autopilot para que el clúster y todas sus cargas de trabajo sigan las prácticas recomendadas y las recomendaciones de GKE para el escalamiento, la seguridad, las actualizaciones y la configuración de nodos. También puedes ejecutar cargas de trabajo específicas en el modo Autopilot en clústeres de GKE Standard. Esta opción te permite usar Autopilot en entornos en los que aún necesitas control manual sobre tu infraestructura. Para obtener más información, consulta Acerca de las cargas de trabajo del modo Autopilot en GKE Standard.

Beneficios

  • Enfócate en tus apps: Google administra la infraestructura para que puedas enfocarte en implementar y compilar tus aplicaciones.
  • Seguridad: Los clústeres de Autopilot tienen una configuración endurecida predeterminada, con muchos parámetros de configuración de seguridad habilitados de forma predeterminada. GKE aplica automáticamente parches de seguridad a tus 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 pasar todo el tráfico de red de Pods 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, por lo que tu plano de control y tus nodos se ejecutan en las últimas versiones calificadas en ese canal.
  • Flexibilidad administrada: Si tus cargas de trabajo tienen requisitos específicos de hardware o recursos, como GPUs, puedes definir esos requisitos en ComputeClasses. Cuando solicitas una ComputeClass en tu carga de trabajo, GKE usa tus requisitos para configurar nodos para tus Pods. No necesitas configurar el hardware de forma manual para los nodos ni para las cargas de trabajo individuales.
  • 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 ANS que cubre el plano de control y la capacidad de procesamiento que usan tus pods.

Acerca de la plataforma de procesamiento optimizada para contenedores de Autopilot

En la versión 1.32.3-gke.1927002 y posteriores de GKE, Autopilot incluye una plataforma de procesamiento optimizada para contenedores especializada para tus cargas de trabajo. Esta plataforma funciona bien para la mayoría de las cargas de trabajo de uso general que no requieren hardware específico, como los servidores web y los trabajos por lotes de intensidad media.

La plataforma de procesamiento optimizada para contenedores usa nodos de Autopilot de GKE que pueden cambiar de tamaño de forma dinámica mientras se ejecutan, diseñados para escalar desde fracciones de una CPU con interrupciones mínimas. Este cambio de tamaño dinámico reduce significativamente el tiempo necesario para aprovisionar capacidad nueva a medida que se escalan tus cargas de trabajo. Para mejorar la velocidad del ajuste de escala y el cambio de tamaño, GKE también mantiene un grupo de capacidad de procesamiento aprovisionada previamente que se puede asignar automáticamente a las cargas de trabajo en respuesta a un aumento en las demandas de recursos.

La plataforma de procesamiento optimizada para contenedores ofrece los siguientes beneficios:

  • La capacidad de procesamiento coincide con las cargas de trabajo: Autopilot ajusta de forma dinámica la capacidad de procesamiento de la plataforma de procesamiento optimizada para contenedores en función de factores como la cantidad de Pods y el consumo de recursos. Como resultado, la capacidad de procesamiento del clúster coincide con las necesidades de tus cargas de trabajo.
  • Tiempos de escalamiento rápidos: Durante los eventos de aumento de escala, GKE puede cambiar el tamaño de los nodos existentes de forma dinámica para admitir más Pods o un mayor consumo de recursos. Este aprovisionamiento dinámico de capacidad suele significar que los Pods nuevos no necesitan esperar a que se inicien los nodos nuevos.

Puedes usar la plataforma de procesamiento optimizada para contenedores de Autopilot de las siguientes maneras:

  • Clústeres de Autopilot: Los Pods que no seleccionan hardware específico usan esta plataforma de procesamiento de forma predeterminada.
  • Clústeres estándar: Puedes colocar Pods específicos en la plataforma de procesamiento optimizada para contenedores seleccionando una de las ComputeClasses integradas de Autopilot.

Precios

Los precios de Autopilot usan diferentes modelos según el tipo de hardware que usan tus Pods, como se indica a continuación:

  • Pods de Autopilot de uso general: Los siguientes tipos de Pods usan un modelo de facturación basado en Pods y se clasifican como Pods de uso general:

    • Son los Pods que se ejecutan en la plataforma de procesamiento optimizada para contenedores en clústeres de Autopilot o clústeres estándar.
    • Pods que seleccionan las ComputeClasses integradas Balanced o Scale-Out en clústeres de Autopilot

    Para obtener más información, consulta la sección “Cargas de trabajo de uso general de Autopilot” en los precios de Google Kubernetes Engine.

  • Cargas de trabajo de Autopilot que seleccionan hardware específico: Los Pods que seleccionan hardware específico, como series de máquinas de Compute Engine o aceleradores de hardware, usan un modelo de facturación basado en nodos. En este modelo, pagas el hardware subyacente y una prima de administración de nodos.

    Para obtener más información, consulta la sección “Cargas de trabajo de Autopilot que seleccionan hardware específico” en Precios de Google Kubernetes Engine.

Clústeres y cargas de trabajo de Autopilot

GKE te permite usar el modo Autopilot para clústeres completos o para cargas de trabajo específicas en tus clústeres Standard. Los clústeres de Autopilot son la forma recomendada de usar GKE, ya que todo el clúster usa las prácticas recomendadas de Google de forma predeterminada.

Sin embargo, algunas organizaciones tienen requisitos de control manual o de flexibilidad que requieren el uso de un clúster de GKE Standard. En estos casos, aún puedes usar Autopilot para cargas de trabajo específicas en tus clústeres Standard, lo que te permite aprovechar muchas funciones de Autopilot a nivel de la carga de trabajo.

En las siguientes secciones, se muestra cómo planificar y crear clústeres de Autopilot. Si tienes un clúster estándar y deseas ejecutar algunas de tus cargas de trabajo en modo Autopilot, consulta Acerca de las cargas de trabajo en modo Autopilot en GKE Standard.

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, solicita CPU Arm.

Planifica y solicita cuotas para tu proyecto o organización de Google Cloud en función de la escala de tus cargas de trabajo. GKE solo puede aprovisionar 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 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 consideraciones.

Herramientas de 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 usar según tus requisitos, 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 queGoogle Cloud establece para ti, asegúrate de conocer 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, personaliza el aislamiento de la red personaliza el aislamiento de la red.
  • 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.

  • Para transferir las métricas de GKE Dataplane V2, configura Google Cloud Managed Service para 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.

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. Después de la reducción de escala del clúster, no quedan nodos en él y, en consecuencia, los Pods del sistema se encuentran en un estado no programable. Se prevé que esto suceda. En la mayoría de los clústeres de Autopilot recién creados, es posible que observes que las primeras cargas de trabajo que implementas tardan más en programarse. Esto se debe a que el nuevo clúster de Autopilot comienza con cero nodos utilizables al momento de la creación y espera hasta que implementes una carga de trabajo para aprovisionar nodos adicionales.

Práctica recomendada:

Para escalar automáticamente la cantidad de Pods en tu clúster, usa un mecanismo como el ajuste automático de escala horizontal de Pods de Kubernetes, que puede escalar los Pods según las métricas integradas de CPU y memoria, o según las 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 acceso a direcciones IP externas, configura el aislamiento de la red.

Implementa cargas de trabajo en el modo Autopilot

Puedes ejecutar cargas de trabajo de Kubernetes compatibles en el modo Autopilot para que GKE administre el escalamiento, la programación eficiente y la infraestructura subyacente. Puedes usar la plataforma de procesamiento optimizada para contenedores en tus cargas de trabajo de uso general o seleccionar hardware específico para tus cargas de trabajo con un objeto ComputeClass.

Puedes ejecutar estas cargas de trabajo de Autopilot de una de las siguientes maneras:

Para obtener una guía interactiva en la consola de Google Cloud para implementar y exponer una app en un clúster de Autopilot, haz clic en Guiarme:

Guiarme

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 Crea una ComputeClass personalizada y solicítala en el manifiesto de tu carga de trabajo. Para obtener más información, consulta Acerca de las ComputeClasses personalizadas.
Ejecuta cargas de trabajo de Autopilot en un clúster estándar Usar una ComputeClass de Autopilot en el clúster de Standard Para obtener más información, consulta Acerca de las cargas de trabajo del modo Autopilot en GKE Standard.
Ejecutar cargas de trabajo de Arm Solicita una serie de máquinas que tenga CPUs de Arm en una ComputeClass o en el manifiesto de tu carga de trabajo. Para obtener más información, consulta Acerca de las ComputeClasses personalizadas.
Ejecuta cargas de trabajo de IA/AA aceleradas Solicita GPUs en una ComputeClass o en el manifiesto de tu carga de trabajo. Para obtener más información sobre cómo solicitar GPU en el manifiesto de tu carga de trabajo, consulta Implementa cargas de trabajo de GPU en Autopilot.
Ejecuta cargas de trabajo tolerantes a errores, como trabajos por lotes, a costos más bajos.

Puedes usar cualquier ComputeClass o configuración de hardware con Pods Spot.

Ejecuta cargas de trabajo que requieren interrupciones mínimas, como servidores de juegos o colas de trabajo. Solo en los clústeres de Autopilot, especifica la anotación cluster-autoscaler.kubernetes.io/safe-to-evict=false en la especificación del Pod. Los Pods están protegidos de la expulsión causada por las actualizaciones automáticas de nodos o los eventos de reducción de escala hasta por siete días. Para obtener más información, consulta Extiende el tiempo de ejecución de los Pods de Autopilot.
Permite que las cargas de trabajo generen picos de actividad más allá de sus solicitudes si hay recursos disponibles y sin usar en la suma de las solicitudes de recursos de Pod en el nodo. Establece tu recurso limits en un valor más alto que tu requests o no establezcas límites de recursos. Para obtener más información, 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 optimizada para contenedores de Autopilot o en hardware específico. 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 Google Cloud zona específica, 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 juegos en cada una de las tres zonas de Google Cloud en la regiónus-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 (de Google Cloud Managed Service 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 tus 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?