Implementación de aplicaciones de forma coherente a escala mediante configuraciones de Flux v2 y Azure Policy
Puede usar Azure Policypara aplicar configuraciones de Flux v2 (tipo de recursoMicrosoft.KubernetesConfiguration/fluxConfigurations
) a escala en clústeres de Kubernetes habilitados para Azure Arc (Microsoft.Kubernetes/connectedClusters
) o AKS (Microsoft.ContainerService/managedClusters
). Para usar Azure Policy, seleccione una definición de directiva integrada y crear una asignación de directiva.
Antes de asignar la directiva que crea configuraciones de Flux, debe asegurarse de que la extensión Flux se implementa en los clústeres. Para ello, asigne una directiva que implemente la extensión en todos los clústeres del ámbito seleccionado (todos los grupos de recursos de una suscripción o grupo de administración, o a grupos de recursos específicos). A continuación, al crear la asignación de directiva para implementar configuraciones, establezca los parámetros para que la configuración de Flux se aplique a los clústeres de ese ámbito.
Para habilitar la separación de preocupaciones, puede crear varias asignaciones de directivas, cada una con una configuración de Flux v2 diferente que apunte a un origen diferente. Por ejemplo, los administradores de clúster pueden usar un repositorio de Git, mientras que otros repositorios los pueden usar los equipos de aplicaciones.
Definiciones de directiva integradas
Las siguientes definiciones de directivas integradas proporcionan compatibilidad con estos escenarios:
Descripción | Directiva |
---|---|
Instalación de la extensión Flux (necesaria en todos los escenarios) | Configure installation of Flux extension on Kubernetes cluster |
Configuración de Flux mediante un repositorio de Git público (por lo general, un escenario de prueba) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Configuración de Flux mediante un repositorio de Git privado con autenticación SSH | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Configuración de Flux mediante un repositorio de Git privado con autenticación HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Configuración de Flux mediante un repositorio de Git privado con autenticación de certificado de CA HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Configuración de Flux mediante un repositorio de Git privado con un secreto de K8s local | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Configuración de Flux mediante un origen de Bucket privado y secretos de KeyVault | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Configuración de Flux mediante un origen de Bucket privado y un secreto de K8s local | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Para buscar todas las definiciones de directiva de Flux v2, busque flux. Para más información, consulte Definiciones integradas de Azure Policy para Kubernetes habilitado para Azure Arc.
Requisitos previos
- Uno o varios clústeres de Kubernetes habilitados para Arc o clústeres de AKS.
- Permisos
Microsoft.Authorization/policyAssignments/write
en el ámbito (suscripción o grupo de recursos) para crear las asignaciones de directiva.
Creación de una asignación de directiva para instalar la extensión Flux
Para que una directiva aplique configuraciones de Flux v2 a un clúster, primero debe instalarse la extensión en el clúster. Para asegurarse de que la extensión está instalada en cada uno de los clústeres, asigne la definición de políticaConfigurar la instalación de la extensión Flux en el clúster de Kubernetes al ámbito deseado.
- En Azure Portal, vaya a Directiva.
- En la sección Creación de la barra lateral, seleccione Definiciones.
- Busque la definición de política integrada Configurar la instalación de la extensión Flux en el clúster de Kubernetes y selecciónela.
- Seleccione Asignar directiva.
- Establezca el Ámbito en el grupo de administración, la suscripción o el grupo de recursos al que se aplicará la asignación de directiva.
- Si quiere excluir recursos del ámbito de asignación de la directiva, establezca Exclusiones.
- Otorgue a la asignación de directiva un nombre de asignación y una descripción fáciles de identificar.
- Asegúrese de que Cumplimiento de directivas esté establecido en Habilitado.
- Seleccione Revisar y crear y, luego, Crear.
Creación de una asignación de directiva para aplicar configuraciones de Flux
A continuación, vuelva a la lista Definiciones (en la sección Creación de Directiva) para aplicar la definición de directiva de configuración al mismo ámbito.
Busque y seleccione la Configurar clústeres de Kubernetes con la configuración de Flux v2 mediante el repositorio de Git público definición de directiva integrada o una de las otras definiciones de directiva para aplicar configuraciones de Flux.
Seleccione Asignar directiva.
Establezca el Ámbito en el mismo que seleccionó al asignar la primera directiva, incluidas las exclusiones.
Otorgue a la asignación de directiva un nombre de asignación y una descripción fáciles de identificar.
Asegúrese de que Cumplimiento de directivas esté establecido en Habilitado.
Seleccione Siguiente para abrir la pestaña Parámetros.
Establezca los valores de parámetro que se van a usar mediante los nombres de parámetro de la definición de directiva.
- Para obtener más información sobre los parámetros, consulte Parámetros compatibles con GitOps (Flux v2).
- Al crear configuraciones de Flux a través de la directiva, debe proporcionar un valor para uno (y solo uno) de estos parámetros:
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
,repositoryRefCommit
.
Seleccione Siguiente para abrir la tarea Corrección.
Habilite Crear una tarea de corrección.
Compruebe que la opción Crear una identidad administrada está activada y que Colaborador aparece en la sección Permisos. Para más información, consulte Inicio rápido: creación de una asignación de directiva para identificar recursos no compatibles y Corrección de recursos no compatibles con Azure Policy.
Seleccione Revisar y crear y, luego, Crear.
A continuación, la configuración se aplica a los nuevos clústeres creados dentro del ámbito de asignación de directiva.
En los clústeres existentes, es posible que deba ejecutar manualmente una tarea de corrección. Normalmente, esta tarea de asignación de directiva tarda entre 10 y 20 minutos en surtir efecto.
Verificación de la asignación de directiva
- En Azure Portal, vaya a un clúster de Kubernetes o AKS habilitado para Azure Arc que esté dentro del ámbito de la asignación de directiva.
- En el menú servicio, en Configuración, seleccione GitOps. En la lista Configuraciones, debería ver la configuración creada por la asignación de directiva.
- En el menú servicio, en recursos de Kubernetes, seleccione Espacios de nombres. Debería ver el espacio de nombres creado por la configuración de Flux.
Personalización de una directiva
Las directivas integradas abarcan los escenarios principales para usar GitOps con Flux v2 en los clústeres de Kubernetes. Sin embargo, debido al límite de 20 parámetros permitidos en las asignaciones de Azure Policy, no todos los parámetros se incluyen en las directivas integradas. Además, para ajustarse a este límite de 20 parámetros, solo se puede crear una única kustomización con las directivas integradas.
Si tiene un escenario que difiere de las directivas integradas, puede superar estas limitaciones mediante la creación de directivas personalizadas con las directivas integradas como plantillas. Para solucionar el límite de 20 parámetros, cree directivas personalizadas que contengan solo los parámetros que necesita y codifiquen de forma rígida el resto.