Módulos de Skaffold en Cloud Code para VS Code

Cloud Code para VS Code usa archivos de configuración `skaffold.yaml` para proporcionar una experiencia de desarrollo fluida para las aplicaciones de Kubernetes, ya que automatiza muchas de las tareas involucradas en la compilación y la implementación de aplicaciones de Kubernetes. Esto permite que Cloud Code controle el flujo de trabajo para compilar, enviar e implementar tu aplicación, y proporciona componentes básicos para crear canalizaciones de CI/CD.

Por lo general, los proyectos comienzan usando una sola configuración de skaffold.yaml para describir cómo compilar e implementar la aplicación. A medida que un proyecto crece, puede ser útil dividir la canalización de la aplicación en partes separadas.

Cloud Code admite la definición de varias dependencias de configuración, que se pueden colocar juntas en el mismo archivo skaffold.yaml y separar con separadores de documentos YAML (---), o bien en archivos skaffold.yaml separados a los que se hace referencia desde un archivo skaffold.yaml de nivel superior. Una configuración se puede convertir en un módulo si se le asigna un nombre con el campo .metadata.name.

El uso de módulos te permite desarrollar y depurar partes de la aplicación de forma independiente. Las dependencias se pueden definir entre archivos de configuración y módulos específicos. Para conocer los pasos para usar esta función, consulta Cómo desarrollar partes de una aplicación de forma independiente.

Depuración de aplicaciones con módulos

Puedes desarrollar y depurar de forma iterativa toda la aplicación o un conjunto de módulos definidos. Cloud Code administra las dependencias del módulo y su orden de implementación.

Comienza a usar una muestra de módulos

Para seleccionar módulos para tu aplicación, consulta Cómo compilar módulos seleccionados y sus dependencias.

Si no usaste módulos y quieres probar la función con una muestra, consulta la muestra de libro de visitas, que se modulariza en frontend y backend.

Para ver un ejemplo de una aplicación empresarial grande, desarrollada con varias tecnologías y lenguajes, y que usa módulos, consulta el ejemplo de Bank of Anthos.

Casos de uso habituales

En esta sección se describen algunos ejemplos de casos de uso comunes que demuestran diferentes situaciones de cuándo y cómo puedes usar módulos en tu IDE.

Desarrollo de microservicios

Eres un desarrollador de frontend que trabaja en su mayoría en el módulo frontend. Como microservicio, frontend no tiene un código explícito ni una dependencia de biblioteca en el repositorio backend, pero requiere que backend se implemente y se ejecute en el clúster.

Usas tu proyecto que contiene una definición del módulo frontend para implementar y depurar desde un IDE de Cloud Code en un clúster de desarrollo compartido en el que el equipo de backend también implementa su servicio. El equipo de DevOps mantiene este clúster compartido.

No trabajas ni depuras el código backend, tampoco actualizas la configuración de Kubernetes la mayor parte del tiempo. Cloud Code compila e implementa otras configuraciones que requiere frontend. Puedes establecer la configuración de implementación de Cloud Code para que solo itere en el módulo frontend.

También puedes implementar frontend y backend en un clúster local para obtener una experiencia iterativa más rápida.

Desarrollo y depuración de microservicios entre límites

Cuando sea necesario depurar varios microservicios a la vez, puedes hacer lo siguiente:

  • Abre el directorio superior en el que se ubican todos los subdirectorios con código fuente de módulos relacionados entre sí.
  • Selecciona el archivo raíz skaffold.yaml para la implementación (configs)
  • Configura la implementación de Cloud Code para iterar solo en los módulos frontend y backend que están disponibles de forma local (y su módulo de configuración de Kubernetes correspondiente cuando hay cambios allí).

También podrías tener un archivo skaffold.yaml raíz independiente para el desarrollo local que incluya un servidor de datos estáticos.

Edita YAML de módulo inteligente

Eres un ingeniero de DevOps que crea un repositorio de plantillas para el equipo de desarrolladores de microservicios que usa módulos. Quieres asegurarte de que no haya errores en las definiciones de módulos. Usas los IDE de Cloud Code para editar archivos de configuración de skaffold.yaml.

¿Qué sigue?

Obtener asistencia

Para enviar comentarios, haz una pregunta en Stack Overflow. Si eres cliente de Google Cloud, puedes enviar tickets a través de los canales de asistencia estándar de Google Cloud.