Uso de GitOps para configurar clústeres de Kubernetes habilitados para Azure Arc
Una ventaja principal de Azure Arc es que facilita la implementación de principios de DevOps que aplican prácticas de desarrollo establecidas a las operaciones. DevOps aumenta la agilidad sin poner en peligro la estabilidad del entorno de TI.
Kubernetes habilitado para Azure Arc admite GitOps, una práctica de DevOps que simplifica el lanzamiento de las versiones de las aplicaciones al reducir el esfuerzo de implementación manual.
En esta unidad, obtendrá información sobre GitOps y cómo configurarlo para clústeres de Kubernetes habilitados para Azure Arc.
GitOps para Kubernetes habilitado para Arc
GitOps facilita la estandarización de las configuraciones de Kubernetes en toda la organización, incluido Kubernets habilitado para Arc. Un repositorio u otros archivos de configuración de hosts de orígenes de archivos que representan el estado esperado de un recurso. Por ejemplo, una configuración de línea de base podría incluir el modelo de delegación, la configuración de supervisión y registro, y las características de los servicios en todo el clúster.
Un agente que se ejecuta en el clúster de Kubernetes supervisa el estado del repositorio. Cuando se produce un cambio de configuración, el agente extrae los archivos actualizados en el clúster y aplica la nueva configuración, lo que garantiza que el clúster permanezca en el estado deseado.
Los clústeres de Kubernetes habilitado para Azure Arc dependen de Flux, un popular operador de implementación de GitOps de código abierto que automatiza las implementaciones de configuración en el clúster. Flux admite orígenes de archivos comunes, como repositorios de Git, repositorios de Helm y Buckets, y admite los tipos de plantilla de configuración YAML, Helm y Kustomize.
En el diagrama siguiente se muestra un flujo de GitOps que usa Flux para implementar configuraciones de clúster y actualizaciones de aplicaciones.
Configuración de GitOps
GitOps asocia el clúster de Kubernetes habilitado para Arc con uno o varios orígenes de archivos, como un repositorio de Git. Cada repositorio puede contener configuraciones de cualquier recurso de Kubernetes válido, como los espacios de nombres o las implementaciones en forma de archivos de manifiesto.
En el diagrama siguiente se muestra el proceso de aplicación de configuraciones basadas en GitOps a varios clústeres habilitados para Azure Arc.
GitOps está habilitado en un clúster de Kubernetes como un recurso de extensión del clúster Microsoft.KubernetesConfiguration/extensions/microsoft.flux
. Para crear fluxConfigurations
, la extensión microsoft.flux
debe instalarse en el clúster. La extensión se instala automáticamente al crear la primera instancia Microsoft.KubernetesConfiguration/fluxConfigurations
en un clúster. También puede instalar la extensión manualmente antes de crear las configuraciones.
Cada asociación entre una configuración de clúster de Kubernetes habilitado para Azure Arc y su repositorio de GitOps correspondiente reside en Azure como parte del recurso de Azure del clúster de Kubernetes habilitado para Azure Arc. Puede configurar la asociación a través de las interfaces de administración de Azure, como Azure Portal o la CLI de Azure.
Siga estos pasos de alto nivel para implementar GitOps con un clúster de Kubernetes habilitado para Azure Arc.
- Use la extensión de la CLI de Azure
k8s-configuration
a fin de aplicar una configuración de Flux y habilitar GitOps en el clúster de Kubernetes habilitado para Arc. - Valide la configuración para confirmar que se ha creado correctamente. El recurso de configuración se actualiza con el estado de cumplimiento, mensajes y la información de depuración.
Una vez que aplique la configuración, puede usar Azure Portal para ver los detalles de cumplimiento. Azure Portal se puede usar también para crear, actualizar y eliminar configuraciones de GitOps.
Uso de Azure Policy para automatizar la configuración
Puede usar Azure Policy para automatizar el proceso de configuración, de modo que pueda aplicarlo de forma coherente a gran escala. Antes de asignar una directiva para configurar los clústeres, debe asegurarse de que la extensión Flux se cree en los clústeres. Para ello, asigne primero la definición de directiva Configurar la instalación de la extensión Flux en el clúster de Kubernetes, lo que garantiza que la extensión esté instalada.
La creación de la asignación de Azure Policy en Azure Portal consta de los siguientes pasos generales:
- En Azure Portal, para ver todas las definiciones de directiva, busque y seleccione Directiva y, a continuación, seleccione Definiciones en el menú izquierdo de la página Directiva.
- Busque Configurar clústeres de Kubernetes con la configuración de GitOps especificada y seleccione una de las definiciones de directiva integradas.
- Seleccione Asignar y cree una asignación de directiva especificando la configuración del ámbito, los parámetros y la corrección.
- Seleccione Revisar y crear y, luego, Crear.
La asignación de directiva habilita automáticamente GitOps en cada clúster de Kubernetes habilitado para Azure Arc que se cree dentro del ámbito de la asignación. Para los clústeres existentes, debe ejecutar manualmente la tarea de corrección.
Obtendrá más información sobre Azure Policy en la siguiente unidad.