Skaffold es una herramienta de línea de comandos que facilita el desarrollo continuo de aplicaciones nativas de Kubernetes. Skaffold gestiona el flujo de trabajo de compilación, envío e implementación de tu aplicación, y proporciona elementos básicos para crear flujos de procesamiento de CI/CD. Skaffold es el motor que impulsa Cloud Code.
Los proyectos de Skaffold suelen empezar usando una sola configuración de skaffold.yaml
para describir cómo compilar y desplegar la aplicación. A medida que un proyecto crece, puede ser útil dividir la canalización de la aplicación en partes independientes.
Skaffold permite definir varias dependencias de configuración, que se pueden colocar juntas en el mismo archivo skaffold.yaml
y separarse mediante separadores de documentos YAML (---
) o bien en archivos skaffold.yaml
independientes a los que se hace referencia desde un archivo skaffold.yaml
de nivel superior. Una configuración se puede convertir en un módulo asignándole un nombre mediante el campo .metadata.name
.
Los módulos te permiten desarrollar y depurar partes de la aplicación de forma independiente. Se pueden definir dependencias entre archivos de configuración y módulos específicos. Para ver los pasos que debes seguir para usar esta función, consulta Desarrollar partes de una aplicación de forma independiente.
Depurar aplicaciones con módulos de Skaffold
Puedes desarrollar y depurar de forma iterativa toda la aplicación o un conjunto de módulos definidos. Skaffold gestiona las dependencias de los módulos y su orden de implementación.
Empezar a usar un ejemplo de módulos de Skaffold
Para seleccionar módulos para tu aplicación, consulta Compilar módulos de Skaffold y sus dependencias.
Si no has usado módulos de Skaffold y quieres probar la función con un ejemplo, consulta el ejemplo Guestbook, que se ha modularizado en frontend
y backend
.
Para ver un ejemplo de una aplicación empresarial de gran tamaño desarrollada con varias tecnologías y lenguajes, y que usa módulos de Skaffold, consulta el ejemplo de Bank of Anthos.
Casos prácticos habituales
En esta sección se describen algunos ejemplos de casos prácticos habituales que muestran diferentes situaciones en las que puedes usar módulos en tu IDE y cómo hacerlo.

Desarrollo de microservicios
Eres desarrollador frontend y trabajas principalmente en el módulo frontend
. Como microservicio, frontend
no tiene una dependencia explícita de código o biblioteca en el repositorio backend
, pero requiere que backend
se despliegue y se ejecute en el clúster.
Utilizas tu proyecto basado en Skaffold, que contiene una definición de módulo frontend
, para desplegar y depurar desde un IDE de Cloud Code en un clúster de desarrollo compartido en el que el equipo de backend también despliega su servicio. El equipo de DevOps mantiene este clúster compartido.
La mayoría de las veces, no trabajas con código backend
ni lo depuras, ni actualizas las configuraciones de Kubernetes. Skaffold compila e implementa otras configuraciones
que frontend
requiere. Configuras la configuración de implementación de Cloud Code para iterar solo en el módulo frontend
.
También puedes implementar tanto frontend
como backend
en un clúster local para disfrutar de una experiencia iterativa más rápida.
Desarrollo y depuración de microservicios entre límites
Si necesitas depurar varios microservicios a la vez, puedes hacer lo siguiente:
- Abre el directorio principal donde se encuentran todos los subdirectorios con el código fuente de los módulos entre sí.
- Selecciona el archivo raíz
skaffold.yaml
para la implementación (configuraciones). - Configura la configuración de despliegue de Cloud Code para que solo se itere en los módulos
frontend
ybackend
que estén disponibles de forma local (y en su módulo de configuración de Kubernetes correspondiente cuando haya cambios).
También puedes tener un archivo skaffold.yaml
raíz independiente para el desarrollo local que incluya un servidor de datos estáticos.
Editar YAML de módulos inteligentes
Eres un ingeniero de DevOps que está creando un repositorio de plantillas para el equipo de desarrolladores de microservicios que usa módulos de Skaffold. Quieres asegurarte de que no haya errores en las definiciones de los módulos sin ejecutar Skaffold manualmente (por ejemplo, dependencias cíclicas o nombres de módulos no únicos). Utilizas los IDEs de Cloud Code para editar los archivos de configuración YAML de Skaffold.
Siguientes pasos
- Desarrollar partes de una aplicación de forma independiente
- Depurar una aplicación de Kubernetes
- Ejecutar una aplicación de Kubernetes