Aplicar configuraciones de Flux v1 a escala mediante Azure Policy

Azure Policy se puede usar para aplicar configuraciones de Flux v1 (tipo de recurso de Microsoft.KubernetesConfiguration/sourceControlConfigurations) a gran escala en clústeres de Kubernetes habilitados para Azure Arc (Microsoft.Kubernetes/connectedclusters).

Nota

Este artículo guarda relación con GitOps con Flux v1. GitOps con Flux v2 ahora está disponible para los clústeres de Kubernetes habilitados para Azure Arc y Azure Kubernetes Service (AKS); vaya al artículo sobre el uso de directivas con Flux v2. Finalmente, Azure dejará de admitir GitOps con Flux v1, por lo que empezará a usar Flux v2 lo antes posible.

Para usar Azure Policy, seleccione una definición de directiva de GitOps existente y cree una asignación de directiva. Al crear la asignación de directiva:

  1. Establezca el ámbito de la asignación.
    • El ámbito serán todos los grupos de recursos de una suscripción, un grupo de administración o grupos de recursos específicos.
  2. Establezca los parámetros de la configuración de GitOps que se va a crear.

Una vez que se crea la asignación, el motor de Azure Policy identifica todos los clústeres de Kubernetes habilitados para Azure Arc que se encuentran dentro del ámbito y aplica la configuración de GitOps a cada uno.

Para habilitar la separación de preocupaciones, puede crear varias asignaciones de directivas, cada una con una configuración de GitOps diferente que apunte a un repositorio de Git diferente. Por ejemplo, los administradores de clústeres pueden usar un repositorio y los equipos de aplicaciones pueden usar otros repositorios.

Sugerencia

Existen definiciones de directivas integradas para estos escenarios:

  • Repositorio público o repositorio privado con claves SSH creadas por Flux: Configure Kubernetes clusters with specified GitOps configuration using no secrets
  • Repositorio privado con claves SSH proporcionadas por el usuario: Configure Kubernetes clusters with specified GitOps configuration using SSH secrets
  • Repositorio privado con claves HTTPS proporcionadas por el usuario: Configure Kubernetes clusters with specified GitOps configuration using HTTPS secrets

Requisito previo

Compruebe que tiene permisos de Microsoft.Authorization/policyAssignments/write en el ámbito (suscripción o grupo de recursos) en el que va a crear esta asignación de directiva.

Creación de una asignación de directiva

  1. En Azure Portal, vaya a Directiva.
  2. En la sección Creación de la barra lateral, seleccione Definiciones.
  3. En la categoría "Kubernetes", elija la definición de directiva integrada "Configurar clústeres de Kubernetes con la configuración de GitOps especificada sin secretos".
  4. Seleccione Asignar.
  5. 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.
  6. Otorgue a la asignación de directiva un Nombre y una Descripciónfáciles de identificar.
  7. Asegúrese de que Cumplimiento de directivas esté establecido en Habilitado.
  8. Seleccione Next (Siguiente).
  9. Establezca los valores de parámetro que se van a usar al crear el recurso sourceControlConfigurations.
  10. Seleccione Next (Siguiente).
  11. Habilite Crear una tarea de corrección.
  12. Compruebe que Crear una identidad administrada esté activada y de que la identidad tendrá permisos de Colaborador.
  13. Seleccione Revisar + crear.

Después de crear la asignación de directiva, la configuración se aplica a los nuevos clústeres de Kubernetes habilitados para Azure Arc creados en el ámbito de la 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.

Comprobación de una asignación de directiva

  1. En Azure Portal, vaya a uno de los clústeres de Kubernetes habilitados para Azure Arc.
  2. En la sección Configuración de la barra lateral, seleccione Directivas.
    • En la lista, debería ver la asignación de directiva que ha creado antes con Estado de cumplimiento establecido enConforme.
  3. En la sección Configuración de la barra lateral, seleccione GitOps.
    • En la lista de configuraciones, debería ver la configuración creada por la asignación de directiva.
  4. En la sección Recursos de Kubernetes de la barra lateral, seleccione Espacios de nombres y Cargas de trabajo.
    • Debería ver el espacio de nombres y los artefactos que creó la configuración de Flux.
    • Debería ver que los objetos descritos por los manifiestos en el repositorio de Git implementado en el clúster.

Pasos siguientes

Configuración de Azure Monitor para contenedores con clústeres de Kubernetes habilitados para Azure Arc.