Despliegue de apps en clústeres con Continuous Delivery y Satellite Config
Implemente recursos de Kubernetes, como las implementaciones, desde su repositorio de GitHub o GitLab en varios clústeres con IBM Cloud® Continuous Delivery y Satellite Config.
Objetivos
En este tutorial, aprenderás a crear una cadena de herramientas abierta utilizando Continuous Delivery para implementar tu aplicación en varios clústeres. También aprenderá cómo se implementan las cadenas de herramientas en el servicio Continuous Delivery y cómo desplegar una app web simple utilizando una plantilla de cadena de herramientas solo de Continuous Delivery.
Con Satellite Config, crea una configuración que especifica qué recursos de Kubernetes desea desplegar en un grupo de clústeres. A continuación, configure un conducto Continuous Delivery para desplegar estos recursos en un grupo de clústeres siempre que se realice un cambio en la configuración.
La cadena de herramientas que se utiliza en esta guía de aprendizaje implementa prácticas estándar de DevOps en torno a las prestaciones de entrega continua gestionando los despliegues en ubicaciones de Satellite. Una vez creados los clústeres y asociados a un grupo de clústeres de Satellite, puedes crear una cadena de herramientas para modificar el código fuente de tu implementación y enviar los cambios al repositorio de GitHub. Cuando envía los cambios al repositorio, el conducto de entrega basado en Tekton despliega automáticamente el código en los clústeres.
Audiencia
Este tutorial está dirigido a administradores que utilizan las cadenas de herramientas de Continuous Delivery y Satellite Config para implementar recursos por primera vez.
Requisitos previos
Antes de comenzar este tutorial, asegúrate de disponer de los siguientes recursos.
-
Una cuenta de IBM Cloud. En función del tipo de cuenta de IBM Cloud, es posible que se limite el acceso a determinados recursos. Dependiendo de los límites de su plan de cuenta, es posible que no estén disponibles determinadas funciones necesarias para algunas estrategias de implementación. Para obtener más información sobre las cuentas de IBM Cloud, consulta Configuración de tu cuenta de IBM Cloud y Actualización de tu cuenta.
-
Un clúster Satellite o un clúster Red Hat® OpenShift® en IBM Cloud que está registrado en la ubicación Satellite.
Si no dispone de un clúster de Satellite, puede registrar un clúster de Red Hat OpenShift en Satellite.
-
Un Grupo de clústeres de Satellite que contiene el clúster que necesita la cadena de herramientas. La cadena de herramientas de esta guía de aprendizaje da soporte a un grupo de clústeres Satellite que contiene sólo Red Hat OpenShift clústeres.
-
Secreto de extracción de imagen. Asegúrese de configurar los secretos de extracción de imágenes necesarios para desplegar imágenes de aplicación en el espacio de nombres del clúster. Para obtener más información, consulte Visión general sobre cómo autorizar al clúster para extraer imágenes de un registro privado.
-
Una ubicación de Satellite para desplegar los recursos.
-
Una instancia del servicio Continuous Delivery.
cómo empezar
Empieza a crear una cadena de herramientas en IBM Cloud.
- Inicie sesión en IBM Cloud Toolchains con sus credenciales de IBM Cloud.
- Seleccione el grupo de recursos y la ubicación para la cadena de herramientas.
- Haz clic en Crear cadena de herramientas.
- En la página Crear una cadena de herramientas, seleccione Satellite en Filtros para visualizar las plantillas que son aplicables para Satellite.
- Seleccione la plantilla Desplegar recursos de Kubernetes en varios clústeres.
- Lea la información para comprender cómo funcionan las cadenas de herramientas y, a continuación, pulse Iniciar.
Definición de valores de cadena de herramientas
Defina el nombre, la región y el grupo de recursos para la cadena de herramientas.
- Proporcione el nombre de la cadena de herramientas.
- Selecciona la región en la que deseas que se cree la cadena de herramientas.
- Seleccione un grupo de recursos donde desea que se cree la cadena de herramientas.
- Pulse Continuar.
Definición del repositorio de origen
Especifique los detalles del repositorio de origen que desea que escuche esta cadena de herramientas. Puede especificar esta información utilizando opciones de configuración estándar u opciones de configuración avanzadas.
-
Seleccione el proveedor de origen. En función del proveedor de origen que elija, se mostrarán las opciones específicas de dicho proveedor de origen. Por ejemplo, puede seleccionar Github Enterprise Whitewater como proveedor de origen.
-
Defina el repositorio de origen.
- Para utilizar un nuevo repositorio para esta cadena de herramientas, pulse Crear nuevo repositorio de origen y asigne un nombre al nuevo repositorio.
- Para utilizar un repositorio existente para esta cadena de herramientas, haz clic en Usar repositorio de código fuente existente e indica la URL del repositorio. Selecciona el proveedor de origen e introduce
la URL URL de tu repositorio, por ejemplo:
https://github.com/my-org/my-repo.
-
Pulse Continuar.
Si desea acceder a valores de repositorio de origen más avanzados como, por ejemplo, utilizar un servidor personalizado y cambiar el comportamiento de clonación, seleccione Cambiar a configuración avanzada.
Configuración del conducto de entrega
Indica el proceso de entrega para implementar tus aplicaciones en varios clústeres de tu grupo de clústeres de Satellite.
-
Especifique el nombre de conducto, que se muestra en la cadena de herramientas.
-
Pulse Continuar.
Proporcionar una clave de API
Proporcione la información de la clave API de IBM Cloud que la cadena de herramientas puede utilizar para acceder a su ubicación de Satellite.
Si tiene una clave de API existente o varias claves de API existentes, siga estos pasos.
-
Seleccione el proveedor o proveedores de secretos que utiliza. Puedes seleccionar uno o varios.
-
Pulse Continuar.
-
Proporcione la información necesaria para acceder al proveedor de secretos.
Si no tiene una clave de API existente, puede ignorar las opciones de esta página y pulsar Continuar para continuar con la página siguiente, donde puede crear una clave de API IBM Cloud y guardarla en un proveedor de secretos.
Configuración de Satellite
Especifique los parámetros que la herramienta de configuración de Satellite puede utilizar al implementar recursos.
-
Proporciona una clave de API de IBM Cloud. Si no ha proporcionado una clave de API de IBM Cloud existente en la página anterior, puede crear una nueva clave de API de IBM Cloud pulsando Nuevo.
Puede guardar esta clave en un proveedor de secretos de su elección para reutilizarla seleccionando esa opción al crear la nueva clave o pulsando el icono de clave.
-
Defina el espacio de nombres en el que desea que se desplieguen los recursos. Debe ser un espacio de nombres existente.
-
Especifique la rama en la que desplegar el recurso; por ejemplo,
v1. -
Proporcione la vía de acceso en la que desplegar el recurso; por ejemplo,
deployments. -
Seleccione el grupo de clústeres para recibir los recursos que está desplegando.
-
Proporcione el nombre visualizado de la configuración de Satellite.
-
Pulse Continuar.
Revisión del resumen
Revise el resumen y confirme la creación de la cadena de herramientas.
-
Para cambiar los parámetros que ha proporcionado anteriormente, pulse Atrás.
-
Para crear la cadena de herramientas con los parámetros proporcionados, pulse Crear cadena de herramientas.
Prueba de la cadena de herramientas
Cuando se crea la cadena de herramientas, se muestra la página Visión general de la cadena de herramientas. En esta página, puedes ver los repositorios, los flujos de trabajo y cualquier herramienta de IBM Cloud asociada a esta cadena de herramientas.
En Repositorios es el repositorio de origen, así como repositorios adicionales para el catálogo de Tekton y las tareas de interconexión. Si se siente cómodo con el uso de Tekton, puede ir a estos repositorios de Tekton para realizar cambios en la cadena de herramientas.
En Interconexiones de entrega, puede ver el estado de las ejecuciones de interconexión. Puede pulsar el nombre de la interconexión para ver detalles sobre la interconexión y establecer Desde esta visión general de interconexión, puede establecer los desencadenantes para la interconexión. Los desencadenantes definen cuándo se inicia la interconexión.
Puedes iniciar el proceso de entrega de cualquiera de las siguientes maneras.
- Desencadene el conducto de entrega manualmente estableciendo un desencadenante manual.
- Enviar por push una confirmación al repositorio de origen de despliegue tal como lo define un desencadenante de repositorio Git. Para establecer un desencadenante de repositorio Git, consulte Despliegue de una nueva versión de la app desde una rama diferente.
Para iniciar una ejecución de interconexión manual, siga estos pasos.
- En la Visión general de la cadena de herramientas bajo Interconexiones de entrega, seleccione el conducto de entrega para ver su estado.
- Pulse Ejecutar conducto.
- Revise las propiedades del desencadenante para asegurarse de que coinciden con la configuración.
- Pulse Ejecutar para ejecutar la cadena de herramientas y desplegar la app.
- Opcional: Pulse el nombre de la ejecución para ver el estado, los registros y los detalles.
- Opcional: Una vez que la app se esté ejecutando, vaya a Configuración deSatellite o ejecute el mandato
ibmcloud sat configpara ver los recursos de configuración de Satellite.
Verificación de que la aplicación de ejemplo se está ejecutando
Una vez configurada la cadena de herramientas y completada con éxito la prueba Delivery Pipeline, sigue los siguientes pasos para comprobar tu aplicación.
- En la página Clústeres, pulse el clúster que ha utilizado para desplegar la app.
- Pulse la consola web de OpenShift.
- En la sección Cargas de trabajo > Pod, filtre por el proyecto o el espacio de nombres del clúster y verifique que los pods se están ejecutando.
- En la sección Redes > Rutas, filtra por el proyecto o el espacio de nombres del clúster y busca la aplicación URL.
- Comprueba que la aplicación está en funcionamiento accediendo a la aplicación URL con tu navegador.
- Opcional: Puede ver su Satellite en la consola, o ejecutando el mandato de
ibmcloud sat config ls.
Despliegue de una nueva versión de la app desde una rama diferente
Si tiene varias ramas en el repositorio que representan varias versiones de la app, puede desplegar una rama diferente para ver una nueva versión de la app en ejecución. Siga estos pasos para modificar la cadena de herramientas para desplegar una rama diferente del repositorio de origen.
- En la Visión general de la cadena de herramientas, seleccione el conducto de entrega que desea modificar.
- Pulse Desencadenantes.
- Pulse el menú de acciones para el desencadenante commit-push.
- Seleccione Editar.
- En el campo Rama, seleccione la rama que desea desplegar. Por ejemplo,
v2. - En la línea deployment-branch bajo Propiedades, pulse el icono Editar.
- Modifique el valor de esta propiedad por el nombre de rama que desea desplegar. Por ejemplo,
v2. - Guarde los cambios.
- Comprueba si tu aplicación está ejecutando la nueva versión accediendo a la página URL con tu navegador.
- Opcional: Vea la nueva versión de la configuración en la consola de Satellite configuraciones
o ejecutando el mandato
ibmcloud sat config get --config CONFIG.
Ahora puede desplegar recursos de Kubernetes en varios clústeres con una única cadena de herramientas.