Ahora que ya está todo configurado, puedes optar por la ejecución habitual de la aplicación o iniciar un ciclo de iteración de desarrollo en tu IDE para propagar cualquier cambio realizado en la fuente y las dependencias de tu aplicación activa. En esta página, se usa la app de muestra del libro de visitas para ilustrar la experiencia de ejecución y desarrollo de Kubernetes.
Selecciona una acción de ejecución
Antes de ejecutar
Antes de ejecutar la aplicación, asegúrate de realizar la configuración a fin de implementar tu app en el contexto de Kubernetes que prefieras. Puedes especificarlo en tu configuración, en la pestaña Ejecutar y en la sección Preferencias de implementación.
Si deseas cambiar tu contexto actual, puedes hacerlo con Kubernetes Explorer, al que se puede acceder desde el panel de la barra lateral a la derecha o mediante Herramientas >Cloud Code >Kubernetes >Ver el Explorador de clústeres.
Para optimizar el bucle de desarrollo mediante la obtención rápida de cambios de archivos de un determinado tipo sin tener que realizar una recompilación de imágenes, puedes habilitar la sincronización de archivos y la carga en caliente.
Desarrollo continuo en Kubernetes
El objetivo de ejecución Develop on Kubernetes inicia el ciclo de desarrollo en tu clúster de Kubernetes. Después de iniciar el ciclo de desarrollo, Cloud Code, mediante Skaffold, compila una imagen para el proyecto y, luego, la etiqueta, la envía al repositorio configurado y usa kubectl a fin de implementar los manifiestos de Kubernetes del proyecto.
- Haz clic en Develop on Kubernetes (Desarrollar en Kubernetes) y, luego, en Edit Configurations para abrir el diálogo Run/Debug Configurations.
- Personaliza la implementación mediante las opciones de configuración disponibles.
- Si quieres que Cloud Code vuelva a implementar la aplicación automáticamente después de que se guarden los cambios, en Modo de supervisión: volver a compilar e implementar, selecciona Guardar archivo guardado. Las aplicaciones nuevas de Kubernetes tienen seleccionada la configuración A pedido de forma predeterminada. Para obtener más información sobre los modos de reproducción, consulta Modos de reloj.
- Si tu aplicación está configurada para usar módulos de Skaffold, puedes seleccionar solo para compilar o implementar módulos específicos.
- Cuando estés satisfecho con la configuración, haz clic en OK y, luego, en Run.
Selecciona módulos de Skaffold
En esta sección, se describe cómo dividir tu proyecto de Skaffold en módulos para que puedas desarrollar y depurar partes de tu aplicación de forma independiente.
Para seleccionar Módulos de Skaffold en IntelliJ, sigue estos pasos:
- Instala las últimas compilaciones de usuarios con información privilegiada.
- Ve a Run > Edit configurations y abre la pestaña Build/Deploy.
- Selecciona skaffold.yaml.
- Elige una de las siguientes opciones:
- Build and deploy with all dependencies, o
- Build and deploy with (si los módulos están disponibles) y selecciona los módulos.
Tu selección se conservará para implementaciones posteriores. Si seleccionas un subconjunto de módulos, Cloud Code muestra una advertencia sobre la implementación de un subconjunto de módulos y no todo el sistema.
Vista previa de la app implementada
Haz clic en el botón Run en tu acción de ejecución preferida. Entonces, puedes ver los registros de aplicaciones entrantes en la ventana de salida en la pestaña Registros.
Cuando se inicie la implementación, verás la lista de puertos reenviados para tu aplicación implementada.
Una vez que la implementación se complete de forma correcta, se te notificará que las URL de servicio nuevas están disponibles. Haz clic en la pestaña Service URLs para ver las URL y, luego, haz clic en el vínculo de la URL a fin de abrir tu navegador con la aplicación en ejecución.
Como alternativa, puedes abrir el registro de eventos y, luego, hacer clic en el vínculo para abrir el navegador con la aplicación en ejecución.
Visualiza los registros
Además de ver los registros de los Pods en ejecución como una transmisión en vivo en el resultado de la terminal mientras desarrollas y ejecutas la aplicación, puedes ver los registros de un Pod específico si navegas hacia el explorador de Kubernetes.
Para ver los registros de un pod específico, sigue estos pasos:
Navega a Kubernetes Explorer. Se puede acceder desde el panel lateral ubicado a la derecha o mediante Herramientas > Cloud Code > Kubernetes > Ver explorador de clústeres.
Selecciona el pod del que deseas ver los registros.
Haz clic con el botón derecho en el Pod y, luego, en Transmitir registros (Stream Logs). Como alternativa, puedes transmitir registros para contenedores individuales que se ejecutan en Pods.
La consola de Kubernetes Explorer muestra los registros.
Agrega funciones nuevas durante el desarrollo en Kubernetes
Si iniciaste un ciclo de iteraciones de desarrollo con Desarrollar en Kubernetes y agregaste más funciones a tu proyecto, verás cómo se implementan estos cambios en tu clúster de Kubernetes sin detener ni quitar la implementación, compilar ni etiquetar manualmente la imagen, ni actualizar el clúster.
Si estás siguiendo la app del libro de visitas, haz lo siguiente:
Abre el archivo “FrontendController.java” de
src/main/java/cloudcode/guestbook/frontend
y agrega este extremo nuevo a la clase FrontendController:@RequestMapping("/greeting") @ResponseBody public String greeting(@RequestParam(value="name", defaultValue="World") String name) { return String.format("Hello from Kubernetes with IntelliJ, %s!", name); } ```
Agrega las importaciones necesarias para las anotaciones nuevas,
RequestMapping
yResponseBody
.Guarda los cambios (
Ctrl
/Cmd+S
) o compila el proyecto (usa el menú Build > Build Project).Puedes mirar el progreso y los registros de la implementación en la ventana de la consola. Después de que se propaguen los cambios, visita la nueva URL del extremo a fin de confirmar las actualizaciones:
localhost:8080/greeting
.Para finalizar la sesión de desarrollo continuo, haz clic en el botón Detener.
El complemento borra todos los recursos de Kubernetes que se usaron para la sesión de desarrollo.
Almacenar secretos
Si el código incluye datos potencialmente sensibles, como claves de API, contraseñas y certificados, se recomienda almacenarlos como secretos. Con Cloud Code, puedes almacenar estos secretos de forma segura en Secret Manager y recuperarlos de manera programática cuando los necesites. Si deseas obtener información detallada para crear y administrar secretos con Cloud Code, consulta la guía de Secret Manager.
Visualiza los detalles de recursos
Para realizar un seguimiento del estado de los recursos de Kubernetes, puedes usar Kubernetes Explorer, al que puedes acceder desde el panel lateral ubicado a la derecha. También puedes acceder a Kubernetes Explorer mediante Herramientas > Cloud Code > Kubernetes > Ver explorador de clústeres.
Con Kubernetes Explorer, puede acceder a la información sobre los clústeres, nodos, cargas de trabajo y mucho más, así como establecer un contexto activo, transmitir y ver registros, y buscar descripciones de recursos.
Para mostrar los detalles de los recursos implementados, haz clic con el botón derecho en una etiqueta de recurso en Kubernetes Explorer y, luego, en Describe.
Configuración
Cuando usas la configuración de ejecución Desarrollo en Kubernetes, puedes personalizar tu implementación mediante la configuración disponible. Para acceder a las opciones de configuración, selecciona la configuración de ejecución del menú desplegable y, luego, elige Edit Configurations.
Opciones de Skaffold
- Skaffold configuration: Te permite seleccionar un archivo de configuración llamado skaffold.yaml. Si tu proyecto ya tiene uno, se detectará de forma automática.
- Deployment profile: Te permite seleccionar un perfil de las opciones disponibles configuradas en el archivo skaffold.yaml.
- Environment variables (Variables de entorno): Te permite configurar variables del entorno adicionales que se pasarán al proceso de implementación de Skaffold. Las marcas de Skaffold también se pueden configurar como variables de entorno a fin de usarlas en este campo. Consulta la documentación de referencia de la CLI de Skaffold para obtener una lista completa de las variables de entorno de Skaffold disponibles.
- Verbosity (Verbosidad): Te permite configurar el nivel de verbosidad de salida en
trace
,debug
,info
,warn
,error
ofatal
. El nivel de verbosidad predeterminado eswarn
.
Opciones de Kubernetes
Development Context: Representa el contexto de Kubernetes con el que se implementa tu aplicación. El comportamiento predeterminado, si no se especifica un contexto de implementación, es implementar en el contexto del sistema actual, si existe uno.
Si prefieres no implementar en el contexto actual, en la sección Deployment de la configuración de ejecución y depuración, puedes optar por lo siguiente:
- Deploy locally to a minikube cluster: inicia un clúster de Minikube administrado por Cloud Code para ejecutar la app y detiene el clúster después de que se detiene la implementación. Si un clúster de Minikube ya se encuentra en ejecución, Cloud Code usa el clúster de Minikube existente para la implementación.
Cambiar contexto e implementar en: Cambia el contexto actual en tu sistema al contexto que se especifica en la implementación.
Delete deployments when finished (Borrar las implementaciones cuando se terminen): Borra las implementaciones de Kubernetes cuando finaliza el proceso. Este es el comportamiento predeterminado. Como alternativa, puedes desactivar esta configuración para evitar que se borren las implementaciones.
Opciones de almacenamiento de imágenes de contenedor
Consulta la guía sobre el almacenamiento de tu imagen de contenedor para obtener más detalles.
Parámetros de configuración de compilación
Cloud Code es compatible con los tipos de artefactos Docker, Jib y Buildpacks. Consulta la guía de configuración de las preferencias de compilación de la imagen del contenedor para obtener información sobre cómo establecer tu compilador preferido y su configuración relevante.
Obtén asistencia
Para enviar comentarios o informar un problema en tu IDE de IntelliJ, ve aTools >Cloud Code >Help / About >Envía comentarios o informa un problema para informar un problema en GitHub o hacer una pregunta en Stack Overflow.También puedes unirte al canal #cloud-code
, que forma parte de la comunidad de Slack en Google Cloud.