Si ya tienes un proyecto existente configurado con los manifiestos de Kubernetes, un Dockerfile o Jib para compilar tus imágenes, puedes abrirlo y usarlo con el complemento. La única plataforma necesaria es un archivo YAML de Skaffold en el que se puede generados automáticamente o creado con la plantilla proporcionada.
Cuando termines de configurar el archivo YAML de Skaffold, asegúrate de especificar tus imágenes de contenedor se almacenan donde la imagen del proyecto se va a enviar.
Arranca el proyecto de forma automática
Tu proyecto debe tener uno o más manifiestos de Kubernetes. Si Cloud Code detecta cualquier manifiesto de Kubernetes en el proyecto, intentará iniciarlo.
Si Cloud Code no detecta una configuración de Skaffold existente, se te solicitará que la configures.
Requisitos previos
Tu proyecto debe cumplir los siguientes requisitos previos para que se te solicite
Crea un archivo skaffold.yaml
y ejecuta la configuración necesaria:
(Opción 1) Tu proyecto tiene un Dockerfile y está configurado para Jib, o
(Opcional 2) Tu proyecto se puede compilar mediante Buildpacks y tiene recursos de Kubernetes.
Establece la configuración de ejecución de Kubernetes
Si se cumplen los requisitos, Cloud Code te solicitará mediante una notificación que crees un archivo skaffold.yaml
(si aún no existe) y cualquier parámetro de configuración de ejecución necesaria:
Haz clic en la notificación. De esta forma, se crea automáticamente la configuración si es posible.
Si no es posible crear de forma automática la configuración de Skaffold debido a que se detectan varias imágenes o compiladores, Cloud Code mostrará un cuadro de diálogo que te pedirá proporcionar asignaciones entre las imágenes y los compiladores detectados.
Como alternativa, también puedes establecer una configuración de Skaffold si navegas a Tools >Cloud Code >Kubernetes y seleccionas Add Kubernetes Support.
Esta opción analiza los recursos de Kubernetes de tu proyecto y genera un archivo
skaffold.yaml
(si aún no existe) y las opciones de configuración de ejecución necesarias. Las dos opciones de configuración de ejecución generadas incluyen una para ejecutar tu proyecto en Kubernetes y otra para desarrollo en un clúster de Kubernetes.Una vez que agregues la compatibilidad, podrás comenzar a ejecutar y depurar tu proyecto en Kubernetes mediante las opciones de configuración de ejecución recién agregadas.
Crea una configuración de Skaffold para Cloud Code de forma manual
Puedes crear manualmente un nuevo archivo skaffold.yaml
o agregar uno existente
a tu proyecto.
Para crear un archivo skaffold.yaml
manualmente con plantillas activas, sigue estos pasos:
pasos:
Crea un archivo nuevo llamado
skaffold.yaml
en el directorio raíz de tu proyecto. (haz clic con el botón derecho > New > File).Con el cursor en el archivo nuevo, usa
Ctrl+Space
para que se muestren las sugerencias de plantillas en vivo y elige la plantilla de Skaffold que quieras.Propaga el campo de la imagen con el nombre de la imagen de tu proyecto y el campo manifiestos con una lista de los recursos de Kubernetes que deseas implementar desde el IDE.
Una vez que Cloud Code determine que tu archivo
skaffold.yaml
es válido, haz clic en el mensaje para crear las opciones de configuración de ejecución de Kubernetes.
Ejemplos de opciones de configuración de Skaffold para Cloud Code
Compilaciones basadas en Dockerfile:
build: artifacts: - image: image_name deploy: kubectl: manifests: - k8s/web.yaml - k8s/backend.yaml
La sección de compilación para los proyectos de Maven o Gradle en Java con el complemento Jib (la sección de implementación se mantiene igual que en el ejemplo anterior):
build: artifacts: - image: image_name jib: {}
Si deseas definir opciones de configuración de compilación, de prueba y de implementación para diferentes contextos, puedes tener diferentes perfiles. A continuación, se muestra un ejemplo de un perfil de Cloud Build a fin de configurar Cloud Code para compilar imágenes mediante Cloud Build:
profiles: # use the cloudbuild profile to build images using Google Cloud Build - name: cloudbuild build: googleCloudBuild: {}
Si deseas implementar tu proyecto con Helm, consulta la documentación de Helm.
Especifica dónde se almacenan las imágenes de contenedor
Almacenamiento de imágenes de contenedor
Antes de implementar tu aplicación, deberás definir un repositorio de imágenes predeterminado para usar con tu proyecto.
De forma predeterminada, el proyecto está configurado para usar el nombre de la imagen especificado en tus manifiestos de Kubernetes. También puedes personalizar esta especificación de imagen. Cuando hayas configurado tu repositorio preferido (Artifact Registry, Container Registry, DockerHub, el repositorio privado, etc.), edita las opciones de configuración de ejecución y especifícalo como un repositorio de imágenes predeterminado en las opciones de configuración de ejecución. En el caso de las imágenes de Google Container Registry, el campo incluye autocompletado para ayudarte a encontrar tu repositorio de Container Registry más rápido.
Se puede acceder a estas opciones desde el diálogo Run/Debug configurations (Configuración de ejecución y depuración) en la parte superior. barra de tareas en Editar configuraciones > Desarrollo en Kubernetes > Repositorio de imágenes.
Si deseas obtener más información para especificar tus preferencias de imagen del contenedor, consulta la Guía de configuración de la imagen de contenedor.
Parámetros de configuración de compilación
Una vez que configuras tu imagen de contenedor, puedes establecer la configuración de compilación. Cloud Code es compatible con los tipos de artefactos Docker, Jib y Buildpacks.
En la pestaña Build / Deploy de la configuración de Run (Editar configuración > Desarrollar en Kubernetes), puedes configurar configuración de tu perfil predeterminado.
Si deseas obtener más información para especificar la configuración de compilación de tu imagen, consulta la guía de configuración de las preferencias de compilación de la imagen del contenedor.
¿Qué sigue?
- Usa la sincronización de archivos y la recarga en caliente para acelerar el desarrollo.
- Depura tu aplicación en Cloud Code.