Implementa cargas de trabajo


Como leíste en nuestra guía del ciclo de vida del clúster, como usuario de GKE, por lo general, usas Google Cloud para la administración de clústeres y herramientas de Kubernetes, como kubectl, para tareas internas del clúster, como la implementación de aplicaciones. Esto significa que, si ya conoces la implementación de cargas de trabajo en otra implementación de Kubernetes, la implementación de cargas de trabajo en GKE debería implicar muchos de los mismos flujos de trabajo (si aún no conoces la implementación de cargas de trabajo en Kubernetes, consulta Implementaciones y los otros recursos en Comienza a aprender sobre Kubernetes).

Sin embargo, GKE también proporciona funciones adicionales para implementar y gestionar tus cargas de trabajo, incluidas herramientas de observabilidad, opciones de bases de datos completamente administradas para aplicaciones con estado y opciones de hardware específicas para tipos de cargas de trabajo especiales, incluidas las cargas de trabajo de IA/AA.

En esta página, se proporciona una descripción general rápida para desarrolladores y administradores que desean implementar cargas de trabajo en clústeres de GKE, con vínculos a documentación más detallada. Puedes encontrar muchas guías y muchos instructivos más específicos en las secciones Deploy… de la documentación principal de GKE.

Antes de leer esta página, debes familiarizarte con lo siguiente:

Roles obligatorios

Si no eres propietario de un proyecto, debes tener el siguiente rol de Identity and Access Management (IAM) como mínimo para implementar cargas de trabajo:

  • Visualizador de clústeres de Kubernetes Engine (roles/container.clusterViewer): Proporciona el permiso container.clusters.get, que se requiere para autenticarse en clústeres en un proyecto de Google Cloud . Esto no te autoriza a realizar ninguna acción dentro de esos clústeres. El administrador del clúster puede autorizarte a realizar otras acciones en el clúster con IAM o el RBAC de Kubernetes.

    Para obtener más información sobre todos los permisos incluidos en este rol o sobre cómo otorgar un rol con permisos de lectura y escritura, consulta Roles de Kubernetes Engine en la documentación de IAM.

Puedes obtener más información sobre cómo funciona el control de acceso en GKE en Control de acceso.

Aplicaciones sin estado

Las aplicaciones sin estado son aplicaciones que no almacenan datos ni estados de la aplicación en el clúster o en almacenamiento persistente. Las aplicaciones sin estado se pueden implementar directamente desde el menú Workloads en la consola deGoogle Cloud , así como con la API de Kubernetes. Puedes aprender a implementar una aplicación de Linux sin estado en GKE en Implementa una aplicación de Linux sin estado. Si lo prefieres, también puedes aprender a implementar una aplicación de Windows Server sin estado.

Almacenamiento y aplicaciones con estado

Las aplicaciones que necesitan guardar datos que existen más allá de la vida útil de su Pod se conocen como aplicaciones con estado. Tú o tu administrador pueden usar un objeto PersistentVolume de Kubernetes para aprovisionar este almacenamiento. En GKE, el almacenamiento de PersistentVolume está respaldado por discos de Compute Engine. Puedes aprender a implementar una aplicación con estado simple en GKE en Cómo implementar una aplicación con estado.

Si necesitas que los datos de tu aplicación con estado persistan en una base de datos en lugar de un almacenamiento vinculado a la vida útil de un clúster, GKE ofrece las siguientes opciones:

  • Bases de datos completamente administradas: Una base de datos administrada, como Cloud SQL o Spanner, proporciona una sobrecarga operativa reducida y está optimizada para la infraestructura de Google Cloud . Las bases de datos administradas requieren menos esfuerzo para su mantenimiento y operación que una base de datos que se implementa de forma directa en Kubernetes.
  • Aplicación de Kubernetes: Puedes implementar y ejecutar una instancia de base de datos (como MySQL o PostgreSQL) en un clúster de GKE.

Puedes obtener mucho más información sobre las opciones de datos en GKE en Datos en GKE y Planifica las implementaciones de bases de datos en GKE.

Cargas de trabajo de IA/AA

GKE tiene una amplia compatibilidad para implementar cargas de trabajo de IA/AA. Esto incluye la compatibilidad con el entrenamiento y la entrega de modelos en hardware especializado, así como la integración flexible con frameworks de procesamiento de datos y procesamiento distribuido. Puedes comenzar a obtener más información en las siguientes guías:

  • En Acerca de las TPU en GKE, se explica el uso de aceleradores de Cloud TPU para cargas de trabajo de IA/AA en GKE. GKE proporciona compatibilidad total con la administración del ciclo de vida de los nodos y los grupos de nodos de TPU, incluida la creación, configuración y eliminación de VMs de TPU. Puedes implementar cargas de trabajo de TPU en clústeres Standard y de Autopilot.
  • En Información sobre las GPUs en GKE, se explica cómo solicitar y usar hardware de GPU con cargas de trabajo de GKE.

Cargas de trabajo con otros requisitos especiales

GKE proporciona funciones y guías para ayudarte a implementar cargas de trabajo con otros requisitos especiales, incluidas las aplicaciones que requieren arquitecturas de nodos particulares o que necesitan que sus Pods se ejecuten en nodos separados o en los mismos. Puedes obtener más información para implementar algunas de estas funciones en las siguientes guías:

  • En Clases de procesamiento en Autopilot, se explica cómo puedes elegir arquitecturas de procesamiento específicas para programar tus Pods cuando implementes aplicaciones en clústeres de Autopilot. En el caso de los clústeres estándar, puedes especificar directamente la familia de máquinas que deseas usar para tus nodos cuando creas un clúster.
  • En Acerca de las clases de procesamiento personalizadas, se describe cómo crear clases de procesamiento personalizadas para obtener una mayor flexibilidad cuando especifiques opciones de hardware para tus aplicaciones en clústeres de Autopilot y estándar.
  • En Configura la separación de cargas de trabajo en GKE, se explica cómo garantizar que los Pods de tu aplicación se ejecuten en las mismas máquinas subyacentes o en máquinas diferentes.
  • En GKE Sandbox, se explica cómo proteger el kernel del host con Pods de zona de pruebas cuando implementas cargas de trabajo desconocidas o no confiables.

Observa tus cargas de trabajo

GKE proporciona una variedad de funciones para observar tus cargas de trabajo y su estado, incluidas las descripciones generales de un vistazo del estado y las métricas de la carga de trabajo en la consola de Google Cloud , así como métricas, registros y alertas más detallados.

Administra la implementación de cargas de trabajo

Si tú o tu administrador quieren configurar una canalización de integración continua y entrega continua (CI/CD) para implementar tus cargas de trabajo, puedes encontrar prácticas recomendadas y lineamientos específicos de GKE para CI/CD en Prácticas recomendadas para la integración continua y la entrega a GKE, así como instructivos para configurar canalizaciones de CI/CD con herramientas y productos específicos.

¿Qué sigue?