Como se explica en nuestra guía sobre el ciclo de vida de los clústeres, como usuario de GKE, normalmente utilizas herramientas de Google Cloud gestión de clústeres y herramientas de Kubernetes, como kubectl
, para tareas internas de los clústeres, como desplegar aplicaciones. Esto significa que, si ya sabes cómo desplegar cargas de trabajo en otra implementación de Kubernetes, desplegar cargas de trabajo en GKE debería implicar muchos de los mismos flujos de trabajo (si no sabes cómo desplegar cargas de trabajo en Kubernetes, consulta Despliegues y otros recursos de Empezar a aprender sobre Kubernetes).
Sin embargo, GKE también ofrece funciones adicionales para desplegar y gestionar tus cargas de trabajo, como herramientas de observabilidad, opciones de bases de datos totalmente gestionadas para aplicaciones con estado y opciones de hardware específicas para tipos de cargas de trabajo especiales, incluidas las de IA y aprendizaje automático.
En esta página se ofrece una descripción general rápida para desarrolladores y administradores que quieran desplegar cargas de trabajo en clústeres de GKE, con enlaces a documentación más detallada. Puedes encontrar muchas más guías y tutoriales específicos en las secciones Implementar... de la documentación principal de GKE.
Antes de leer esta página, debes familiarizarte con lo siguiente:
Roles obligatorios
Si no eres el propietario del proyecto, debes tener al menos el siguiente rol de Gestión de Identidades y Accesos (IAM) para desplegar cargas de trabajo:
Lector de clústeres de Kubernetes Engine (
roles/container.clusterViewer
): proporciona el permisocontainer.clusters.get
, que es necesario para autenticar clústeres en un proyecto Google Cloud . Esto no te autoriza a realizar ninguna acción en esas agrupaciones. El administrador del clúster puede autorizarte a realizar otras acciones en el clúster mediante IAM o RBAC de Kubernetes.Para obtener información sobre todos los permisos incluidos en este rol o para asignar un rol con permisos de lectura y escritura, consulta Roles de Kubernetes Engine en la documentación de gestión de identidades y accesos.
Puedes consultar más información sobre cómo funciona el control de acceso en GKE en la sección Control de acceso.
Aplicaciones sin reconocimiento del estado
Las aplicaciones sin estado son aplicaciones que no almacenan datos ni estados de la aplicación en el clúster ni en el almacenamiento persistente. Las aplicaciones sin estado se pueden implementar directamente desde el menú Cargas de trabajo de laGoogle Cloud consola, así como mediante la API de Kubernetes. Puedes consultar cómo desplegar una aplicación de Linux sin reconocimiento del estado en GKE en el artículo Desplegar una aplicación de Linux sin reconocimiento del estado. Si lo prefieres, también puedes consultar cómo desplegar una aplicación de Windows Server sin reconocimiento del estado.
Aplicaciones con reconocimiento del estado y almacenamiento
Las aplicaciones que necesitan guardar datos que existen más allá del tiempo de vida de su Pod se conocen como aplicaciones con estado. Tanto tú como el administrador podéis usar un objeto PersistentVolume de Kubernetes para aprovisionar este almacenamiento. En GKE, el almacenamiento de PersistentVolume está respaldado por discos de Compute Engine. Puedes consultar cómo desplegar una aplicación con reconocimiento del estado sencilla en GKE en el artículo Desplegar una aplicación con reconocimiento del estado.
Si necesitas que los datos de tu aplicación con estado se conserven en una base de datos en lugar de en un almacenamiento vinculado al tiempo de vida de un clúster, GKE ofrece las siguientes opciones:
- Bases de datos totalmente gestionadas: una base de datos gestionada, como Cloud SQL o Spanner, reduce la sobrecarga operativa y se optimiza para la infraestructura. Google Cloud Las bases de datos gestionadas requieren menos esfuerzo para mantenerlas y operarlas que una base de datos que se implementa directamente en Kubernetes.
- Aplicación de Kubernetes: puedes desplegar y ejecutar una instancia de base de datos (como MySQL o PostgreSQL) en un clúster de GKE.
Puedes consultar más información sobre las opciones de datos en GKE en los artículos Datos en GKE y Planificar los despliegues de bases de datos en GKE.
Cargas de trabajo de IA y aprendizaje automático
GKE ofrece una amplia compatibilidad para desplegar cargas de trabajo de IA y aprendizaje automático. Esto incluye la compatibilidad con el entrenamiento y el servicio de modelos en hardware especializado, así como la integración flexible con frameworks de computación distribuida y procesamiento de datos. Puedes empezar a consultar más información en las siguientes guías:
- En Información sobre las TPUs en GKE se explica cómo usar aceleradores de TPU de Cloud para cargas de trabajo de IA o AA en GKE. GKE ofrece compatibilidad total con la gestión del ciclo de vida de los nodos y los grupos de nodos de TPU, lo que incluye la creación, la configuración y la eliminación de VMs de TPU. Puedes desplegar cargas de trabajo de TPU en clústeres estándar y 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 ofrece funciones y guías para ayudarte a desplegar cargas de trabajo con otros requisitos especiales, como aplicaciones que requieren arquitecturas de nodos concretas o que necesitan que sus pods se ejecuten en nodos iguales o diferentes. Puedes consultar más información sobre cómo implementar algunas de estas funciones en las siguientes guías:
- En Clases de computación en Autopilot se explica cómo puedes elegir arquitecturas de computación específicas para programar tus pods al implementar aplicaciones en clústeres de Autopilot. En el caso de los clústeres estándar, puedes especificar directamente la familia de máquinas que quieras usar para tus nodos al crear un clúster.
- En el artículo Acerca de las clases de computación personalizadas se describe cómo crear clases de computación personalizadas para tener aún más flexibilidad al especificar las opciones de hardware de tus aplicaciones en clústeres Autopilot y Estándar.
- En Configurar la separación de cargas de trabajo en GKE se explica cómo asegurarse de que los pods de su aplicación se ejecuten en las mismas máquinas subyacentes o en otras diferentes.
- GKE Sandbox explica cómo proteger el kernel del host mediante el uso de pods de espacio aislado al desplegar cargas de trabajo desconocidas o que no son de confianza.
Observar las cargas de trabajo
GKE ofrece una serie de funciones para observar tus cargas de trabajo y su estado, como resúmenes del estado y las métricas de las cargas de trabajo en la consola, así como métricas, registros y alertas más detallados. Google Cloud
- Consulta más información sobre cómo usar las páginas de GKE en la Google Cloud consola en GKE en la Google Cloud consola.
- Consulta más información sobre cómo usar App Hub para ver tus cargas de trabajo y servicios.
- Consulta más información sobre GKE y la observabilidad en Google Cloud Observabilidad para GKE.
Gestionar el despliegue de cargas de trabajo
Si tú o tu administrador queréis configurar un flujo de procesamiento de integración y entrega continuas (CI/CD) para desplegar vuestras cargas de trabajo, podéis consultar las prácticas recomendadas y las directrices específicas de GKE para CI/CD en Prácticas recomendadas para la integración y la entrega continuas en GKE, así como tutoriales para configurar flujos de procesamiento de CI/CD con herramientas y productos específicos.
Siguientes pasos
Consulta más información sobre las herramientas para trabajar con GKE:
Consulta el tutorial Desplegar y actualizar desde un IDE para saber cómo simplificar el despliegue desde tu IDE con Cloud Code.