Capítulo 4. Implementación de una aplicación en OpenShift
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Ya conoces los conceptos de OpenShift y tienes acceso a un clúster OpenShift. Ahora utilizarás OpenShift para crear un proyecto, compilar la aplicación del proyecto desde el código fuente y ejecutarla.
Un ejemplo sencillo de aplicación
Haremos honor a la tradición tecnológica comenzando con un programa "Hola Mundo". El sencillo programa de este capítulo ejecuta un servicio HTTP que imprime una respuesta a cada solicitud. Hemos seleccionado el lenguaje de programación Go porque se compila rápidamente y para demostrar más de un entorno de lenguaje. Utilizarás el framework Quarkus de Java para construir una aplicación más compleja en capítulos posteriores. Las técnicas de OpenShift que utilizarás a lo largo del libro, como las compilaciones en clúster y la implementación automática, son en gran medida agnósticas respecto al lenguaje y los marcos que elijas para un proyecto.
En primer lugar, consigue una copia del código fuente de la aplicación Hola Mundo. Utilizarás Git para gestionar el código fuente y GitHub para que tu copia esté disponible para que tu clúster la construya. Dirige tu navegador al repositorio GitHub de este capítulo. Haz un fork de una copia a tu propia cuenta de GitHub con el botón Fork de la parte superior derecha. En términos de Git, un "fork" es una copia exacta de un repositorio en un momento dado. Puedes modificar tu bifurcación para crear tu propia versión o para hacer, probar y enviar cambios al repositorio original. Utilizarás Git en este capítulo, pero no necesitas conocimientos profundos de Git; la siguiente descripción extremadamente breve de las palabras y formas de Git debería servirte para empezar.
Git y GitHub
Git es un sistema de control de versiones distribuido. Normalmente, un repositorio Git en tu ordenador almacenará las copias de trabajo de tu código fuente. commit
Utilizarás la herramienta git
para realizar cambios allí, y luego push
el repositorio en algún lugar, o colaborarás con un repositorio upstream con propuestas de cambio denominadas pull requests. Esta operación descentralizada es la parte "distribuida".
En este libro, enviarás código fuente a GitHub, una red social para código fuente. La parte "social" significa que otras personas y, lo que es más importante para tu proyecto, otros sistemas pueden conectarse, copiar, trabajar y proponer cambios a tu código fuente almacenado en GitHub. GitHub también dispone de herramientas basadas en navegador para editar el código fuente y confirmar los cambios, y en este capítulo las utilizarás para que puedas jugar a los primeros niveles de OpenShift sin necesidad de adentrarte en la línea de comandos.
Creación e Implementación de la Aplicación en OpenShift
Lo primero que necesitas es un Proyecto OpenShift que contenga los recursos de la aplicación. Inicia sesión en la consola web de tu clúster CRC. Allí, la cuenta por defecto es "desarrollador" y la contraseña también es "desarrollador".
Asegúrate de que estás utilizando la perspectiva Desarrollador marcando o cambiando la selección a Desarrollador mediante el desplegable del conmutador de perspectivas de OpenShift situado en la esquina superior izquierda. Haz clic en Topología. Crea un nuevo proyecto haciendo clic en Proyecto: Todos los Proyectos y, a continuación, haz clic en Crear Proyecto(Figura 4-1).
En el diálogo Crear Proyecto, configura el nuevo Proyecto, como se muestra en la Figura 4-2.
CLI Cómo: Crear un nuevo proyecto
Crea un nuevo Proyecto en la CLI de OpenShift ejecutando el siguiente código:
oc new-project \ --display-name='Hello OpenShift for Developers' \ --description='hello world' \ o4d-hello
Como no has implementado nada, la vista Topología intentará ayudarte con una cuadrícula de cosas que podrías querer implementar. Elige De Git.
La consola presentará un diálogo de configuración de la compilación Git, similar al que se ve en la Figura 4-3. Introduce la URL de tu fuente bifurcada de Hello World en tu cuenta de GitHub: por ejemplo, https://github.com/<tu-nombre>/hello.git. Cuando lo hagas, OpenShift comprobará el contenido del repositorio y, para los idiomas conocidos, seleccionará automáticamente la Imagen Builder adecuada que contiene el compilador y otras herramientas para construirlo.
Comprueba que la opción Ir está seleccionada en la cuadrícula de Imágenes Constructoras que se ofrece en el diálogo. De lo contrario, acepta los valores predeterminados y haz clic en Crear.
Guía CLI: Crear una nueva aplicación Go
Es posible crear la implementación hola utilizando la línea de comandos ejecutando lo siguiente:
oc new-app golang~https://github.com/<your-name>/hello.git
Cuando hagas clic en Crear, OpenShift empezará a construir tu código fuente con las herramientas del compilador Go de la Imagen Builder seleccionada. Volverás a la vista Topología de la consola, que muestra la aplicación y actualiza su visualización a medida que se construye e implementa(Figura 4-4).
El icono Topología de la aplicación transmite información clave. Pasa el ratón por encima de las insignias del perímetro del icono y verás que puedes hacer clic para acceder al estado de compilación, directamente a la URL del repositorio Git con el código fuente de la aplicación, o a la URL externa de una ruta a la aplicación(Figura 4-5).
El estado de la implementación se transmite mediante diferentes colores y consejos de herramientas. El azul oscuro indica una aplicación en ejecución, el azul claro una que aún no está lista, y el rojo una aplicación que necesita atención porque se han producido errores.
Haz clic en la insignia de Ruta para abrir la URL externa de la aplicación en tu navegador web(Figura 4-6).
Añadir e Implementación de una Nueva Función
Partiendo de unas pocas líneas de código fuente, has utilizado OpenShift para obtener, compilar e implementar una aplicación web sin estado de simplicidad artificiosa. Ahora imagina que te asignan un ticket para una petición de funcionalidad: cambia el texto mostrado por "¡Hola Mundo!". Puedes hacer este cambio y, a continuación, hacer que OpenShift reconstruya la aplicación y despliegue el resultado, sustituyendo a la versión anterior.
Este bucle básico te prepara para dos ideas clave en la aplicación más elaborada que construirás a lo largo del resto del libro. El sistema de creación de código fuente a imagen en OpenShift formará el núcleo del canal de implementación más completo que crearás en el Capítulo 6. En capítulos posteriores, verás cómo establecer y cambiar las estrategias de implementación para mantener los servicios disponibles durante las redistribuciones, o para implementar una nueva versión de la aplicación sólo en un subconjunto de réplicas, para pruebas A/B de un solo clúster.
Cambiar la fuente de hola
Para abordar el ticket de cambio de texto, necesitas cambiar una cadena en el código fuente de la aplicación. Si eres un veterano de Git, es posible que hayas clonado el repositorio en tu máquina local y que ya sepas cómo editarlo con tu herramienta preferida, confirmarlo y enviarlo a tu repositorio de GitHub. Si ese proceso no te resulta familiar, no te preocupes; por ahora, el cambio necesario es lo suficientemente sencillo como para hacerlo rápidamente en el editor web de GitHub, y te mostraremos cómo clonar, cambiar, confirmar y enviar tus cambios a tu repositorio de GitHub visible públicamente antes de que tengas que hacer una codificación más complicada.
Abre el archivo fuente Go de tu aplicación Hola Mundo, hello-openshift-for-developers.go, en tu navegador. Tu copia estará en https://github.com/<tu-nombre>/hello/blob/master/hello-openshift-for-developers.go. Verás el código que se muestra en la Figura 4-7.
Pulsa el icono del lápiz en la parte superior derecha de la vista de la fuente(Figura 4-8) para entrar en el modo editor.
A continuación, busca la cadena Hello OpenShift for Developers!
y cámbiala por Hello World!
, como se muestra en la Figura 4-9.
Por último, guarda los cambios en la rama principal del repositorio de tu aplicación. Es una buena práctica proporcionar un mensaje de confirmación conciso que explique el cambio, con un asunto y un cuerpo similares a los de un correo electrónico, como se muestra en la Figura 4-10. Haz clic en "Confirmar cambios" para confirmar los cambios.
Una nueva Implementación de OpenShift
Una BuildConfig de OpenShift representa una ubicación del código fuente y un proceso para construirlo en un contenedor desplegable. Ya tienes una BuildConfig, creada para construir la aplicación Hola Mundo y reutilizada cada vez que se despliega una nueva versión. Abre la vista Consolidaciones en el menú de la izquierda de la perspectiva Desarrollador de la Consola Web. A continuación, haz clic en hello-git
BuildConfig para abrirla(Figura 4-11).
Inicia una construcción con la opción "Iniciar construcción" del menú Acciones, arriba a la derecha(Figura 4-12).
CLI How-To: Iniciar una compilación desde una BuildConfig existente
Es posible iniciar la compilación de hello-git
utilizando la línea de comandos ejecutando oc start-build hello-git
.
Como se muestra en la Figura 4-13, cuando finalice la compilación, al hacer clic en el icono URL de la vista Topología se abrirá la última versión de tu aplicación en una pestaña del navegador. ¡Hola Mundo!
Resumen
Lo creas o no, acabas de dominar las piezas clave de la implementación de tu código en OpenShift. Desde el código fuente hasta la compilación, pasando por el despliegue y un conjunto de cambios intermedios, una vez configurado, OpenShift asumió las tareas de "operaciones" y te permitió concentrarte en la parte de "desarrollo". En el Capítulo 5, ampliarás el concepto de compilación con OpenShift Pipelines, más capaz y modular, creando un proceso de CD para una aplicación más completa y realista con múltiples componentes y estado persistente.
Get OpenShift para desarrolladores, 2ª edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.