Desarrolla y también implementa una aplicación

Ahora que tienes todo listo, puedes optar por una implementación habitual de tu aplicación o iniciar un ciclo de iteración de desarrollo continuo en tu IDE para propagar cualquier cambio realizado en la fuente y las dependencias de tu aplicación activa.

Implementación

Para realizar implementaciones habituales, puedes usar “Kubernetes Deploy” ícono de acción de ejecutar, el objetivo de ejecución de Kubernetes, a fin de compilar la imagen y también implementar el proyecto en tu clúster de Kubernetes. No se supervisan las fuentes y dependencias del proyecto, y el proceso de Skaffold finaliza una vez que se completan la imagen y la implementación.

Implementación habitual con la acción de ejecutar

Para obtener más información sobre cómo personalizar la implementación, consulta las opciones de configuración disponibles.

Desarrollo continuo

Para comenzar el ciclo de desarrollo en tu clúster de Kubernetes, haz clic en la acción de ejecución de “Kubernetes Continuous Deploy” ícono de acción de ejecutar.

Iniciar el ciclo de desarrollo del clúster de Kubernetes

Para obtener más información sobre cómo personalizar la implementación, consulta las opciones de configuración disponibles.

Cuando se inicie el ciclo de desarrollo, se abrirá la ventana de la consola con los registros. El complemento compila una imagen para el proyecto con Skaffold y, luego, la etiqueta, la envía al repositorio configurado y usa kubectl a fin de implementar los manifiestos de Kubernetes del proyecto.

Compilar una imagen con Skaffold

Cuando se termina la compilación, se envía la imagen y comienza la implementación. La consola comenzará a transmitir registros de tu implementación de Kubernetes.

Registros transmitidos en la consola

Si estás probando paso a paso la aplicación de muestra del libro de visitas, verás que se inicializó y abrió en el servidor web integrado. Según la configuración predeterminada, el servidor web del libro de visitas usa el puerto 8080 para entregar contenido. No te preocupes por acceder a la implementación mediante una dirección remota; el complemento redirecciona automáticamente todos los puertos declarados del contenedor.

Redireccionamiento automático de puertos que traslada tu contenido al puerto 8080

Ve a localhost:<frontend-port> en tu navegador (o usa el comando curl) para acceder a la aplicación del libro de visitas que se ejecuta en tu clúster de Kubernetes. Asegúrate de reemplazar <frontend-port> por el puerto local al que el complemento redireccionó el servicio de frontend, tal como se muestra en tus registros (y se ejemplifica en la captura de pantalla de arriba).

Ejecución de la app del libro de visitas en localhost:8080

Puedes revisar los detalles de la implementación y los servicios de Kubernetes con los comandos de la CLI estándar de Kubernetes (por ejemplo, kubectl get deploy) o mediante el panel en tu clúster de Kubernetes. Los recursos de Kubernetes para el proyecto se encuentran en el directorio k8s; allí debería haber un conjunto de archivos YAML de implementación y servicio para el frontend, el backend y la base de datos.

Agrega funciones nuevas

Si agregas más funciones al proyecto del libro de visitas, verás cómo se implementan en tu clúster de Kubernetes sin detener ni quitar la implementación, compilar ni etiquetar manualmente la imagen, ni actualizar el clúster.

Abre el archivo "FrontendController.java" de src/main/java/cloudcode/guestbook/frontend y agrega el 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 y ResponseBody.

Guarda los cambios (Ctrl/Cmd S) o compila el proyecto (usa el menú Compilar > Compilar proyecto).

Puedes mirar el progreso y los registros de la implementación en la ventana de la consola. Cuando los cambios se propaguen, visita la nueva URL del extremo a fin de confirmarlos: localhost:8080/greeting.

Ver el extremo creado recientemente en un navegador

Cuando termines, haz clic en Detener para finalizar la sesión de desarrollo continuo. Con esto, el complemento borra todos los recursos de Kubernetes que se usaron para la sesión de implementación.

Configuración

Cuando usas las configuraciones de ejecución “Kubernetes Deploy” y “Kubernetes Continuous Deploy”, puedes usar las opciones disponibles a fin de personalizar tu implementación. Para acceder a ellas, selecciona la configuración de ejecución del menú desplegable y elige “Editar configuraciones” (Edit Configurations).

  • Opciones de Skaffold
    • Configuración de Skaffold (Skaffold configuration): Te permite seleccionar un archivo de configuración llamado “skaffold.yaml”. Si tu proyecto ya tiene uno, se detectará automáticamente.
    • Perfil de implementación (Deployment profile): Te permite seleccionar un perfil de las opciones disponibles configuradas en el archivo “skaffold.yaml”.
    • Variables del entorno (Environment variables): Te permite configurar variables del entorno adicionales que se pasarán al proceso de implementación de Skaffold.
  • Opciones de Kubernetes
    • Contexto (Context): Representa el contexto con el que se implementará tu aplicación. En la configuración predeterminada, corresponde al contexto activo. Si cambias esta opción, se cambiará el contexto activo del sistema.
    • Espacio de nombres (Namespace): Muestra el espacio de nombres asociado al contexto elegido.
    • Borrar las implementaciones cuando se terminen (Delete deployments when finished): Borra las implementaciones de Kubernetes cuando finaliza el proceso. Esta opción solo está disponible para el objetivo “Kubernetes Continuous Deploy”. Cuando ejecutas la implementación continua, este es el comportamiento predeterminado. Como alternativa, puedes desactivar esta configuración para evitar que se borren las implementaciones.
    • Mostrar la parte final de los registros después de la implementación (Tail logs after deployment): Si seleccionas esta opción, se mostrará la parte final de los registros del contenedor una vez que se complete la implementación. Solo está disponible para el objetivo “Kubernetes Deploy”.
  • Opciones de imagen

Obtén asistencia

Para enviar comentarios, informa problemas en GitHub o haz preguntas en Stack Overflow.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Cloud Code para IntelliJ