En esta página, se describe cómo usar Cloud Deploy para que tu aplicación funcione en los entornos de ejecución de destino deseados. Antes de hacerlo, debes crear tu canalización de entrega y los destinos.
Antes de comenzar
En esta sección, se describen los elementos que debes tener en su lugar antes de poder implementar tu aplicación con Cloud Deploy.
Asegúrate de que tu cuenta de servicio de ejecución tenga los roles y permisos de IAM necesarios.
Crea la canalización de entrega y los destinos.
Cloud Deploy puede realizar implementaciones en Google Kubernetes Engine, Cloud Run, clústeres conectados de GKE y destinos personalizados. La configuración de destino difiere según el destino en el que realices la implementación.
Ten tus imágenes de contenedor y manifiestos.
Necesitas una o más imágenes de contenedor para implementar y uno o más manifiestos de Kubernetes (para implementar en GKE) o archivos YAML de servicio (para implementar en Cloud Run).
Necesitas una canalización de integración continua o algún otro proceso para compilar y colocar tus imágenes. Tu herramienta de CI puede ser Cloud Build, Jenkins o cualquier otra que genere imágenes de contenedor que puedas proporcionar a tu canalización de entrega de Cloud Deploy.
Ten un archivo de configuración
skaffold.yaml.Cloud Deploy calls
skaffold renderpara renderizar los manifiestos de Kubernetes con este archivo yskaffold applypara implementarlos en tu destino. Para ello, Skaffold requiere al menos unskaffold.yamlmínimo. Puedes obtener uno de dos maneras:Crea el tuyo.
Ten en cuenta que el archivo
skaffold.yamldebe hacer referencia alapiVersioncompatible con Skaffold en la primera línea, como en este ejemplo:`apiVersion: skaffold/v4beta7`Haz que se genere por ti.
Si aún no tienes un archivo
skaffold.yaml, puedes hacer que Cloud Deploy cree uno por ti. Este archivo es adecuado para la incorporación, el aprendizaje o la demostración de Cloud Deploy, y no debe usarse para cargas de trabajo de producción.
Consulta Usa Skaffold con Cloud Deploy para obtener más detalles. Además, Administra manifiestos en Cloud Deploy tiene más detalles sobre el uso de Skaffold y Cloud Deploy con herramientas de administración de manifiestos, como Helm, Kustomize y kpt.
Configura Cloud Deploy para el entorno de ejecución que elijas
Cloud Deploy puede implementar tu aplicación en cualquiera de los siguientes entornos de ejecución:
Invoca tu canalización de entrega para crear una versión
Después de configurar Cloud Deploy para realizar la implementación en tu entorno de ejecución, puedes enviar tu aplicación para que se implemente según la canalización de entrega que creaste.
Ejecuta tu proceso normal de integración continua (CI) y crea el artefacto o los artefactos implementables.
Para iniciar la canalización de entrega, llama a Cloud Deploy para crear una versión.
Ejecuta el siguiente comando desde el directorio que contiene tu configuración de Skaffold:
gcloud deploy releases create RELEASE_NAME --delivery-pipeline=PIPELINE_NAME --region=REGIONDebido a que este comando crea un archivo tar de todo el contenido del directorio y de cualquier subdirectorio, es posible que no quieras ejecutar este comando desde tu directorio principal o raíz. Ejecuta el comando desde el directorio que contiene tu configuración de Skaffold o incluye la opción
--source=, que se describe más adelante.En este comando...
RELEASE_NAMEes un nombre que se le dará a esta versión. El nombre debe ser único entre todas las versiones de esta canalización de entrega.Puedes especificar nombres de versiones dinámicos si incluyes
'$DATE'o'$TIME'o ambos. Por ejemplo, si invocas este comando a las 3:07 p.m. UTC,'rel-$TIME'se resuelve comorel-1507.'$DATE'y'$TIME'deben estar entre comillas simples, y la hora es la hora UTC en la máquina en la que invocas el comando.PIPELINE_NAMEes el nombre de la canalización de entrega que administrará la implementación de esta versión a través de la progresión de los destinos. Este nombre debe coincidir con el camponameen la definición de la canalización.