Hi all,
En mi
blog anterior
compartí mi experiencia creando una aplicación simple y única desplegada en un único clúster, pero ¿qué sucede si necesitas gestionar cientos de aplicaciones en entornos grandes y dinámicos desplegados en diferentes clústeres de SAP Kyma? ¿Necesitas mantener todas ellas en cada clúster? Intentaré responder a eso
🙂
Clúster de SAP Kyma por entorno
En primer lugar, Argo CD puede desplegar aplicaciones en múltiples clústeres de SAP Kyma desde un único clúster de SAP Kyma:
Multi-clúster de Argo CD
Lo único que necesitas es instalar el Argo CD CLI y registrar el nuevo clúster en el servidor de Argo CD.
En segundo lugar, Argo CD proporciona un controlador (que debe ser instalado aparte de la instalación principal) que permite la creación de "ApplicationSet", a diferencia de un recurso de aplicación de Argo CD, que despliega recursos desde un único repositorio Git a un clúster/namespace de destino único, "ApplicationSet" utiliza automatización con plantillas para crear, modificar y gestionar múltiples aplicaciones de Argo CD simultáneamente, apuntando a múltiples clústeres/namespaces de destino.
ApplicationSet
Como puedes empezar a imaginar, este controlador es muy útil para generar entornos dinámicos, con aplicaciones dinámicas que necesitan ser desplegadas en clústeres de SAP Kyma dinámicos, intentemos usar la siguiente estructura de repositorio para manejar nuestro escenario:
Infraestructura como Código - repositorio
Podemos ver:
-
Carpeta llamada "envs" que contiene todos los entornos
-
Carpeta llamada "dev":
-
Que contiene:
-
Carpeta "argocd" --> Contiene el "ApplicationSet" para este entorno
-
Carpeta "test3" --> Aplicación SAP CAP
-
Carpeta "test4" --> Aplicación SAP CAP
-
Carpeta llamada "qas" & "prd": son iguales desde el punto de vista de la estructura
-
Archivo llamado "envs-generator.yml" que representa el "ApplicationSet" para este repositorio
La idea principal de este repositorio es crear una única "Aplicación de Argo CD" (llamada "app-generator-envs") para el "ApplicationSet" de Argo CD que creará automáticamente y dinámicamente "Aplicaciones de Argo CD" por entornos utilizando la carpeta "envs" (llamada "app-generator-
") donde esas aplicaciones crearán automáticamente y dinámicamente "Aplicaciones de Argo CD" por aplicación a desplegar utilizando la carpeta "envs/" (llamada "app-generated--").
Una imagen vale más que mil palabras
Veámoslo en acción:
Pedro Pascal
Se unió el 07/03/2018