Aplicar as configurações do Flux v1 em escala usando o Azure Policy

Você pode usar o Azure Policy para aplicar configurações do Flux v1 (tipo de recurso Microsoft.KubernetesConfiguration/sourceControlConfigurations) em escala nos clusters do Kubernetes habilitados para Azure Arc (Microsoft.Kubernetes/connectedclusters).

Observação

Este artigo é para o GitOps com Flux v1. O GitOps com o Flux v2 já está disponível para o Kubernetes habilitado para Azure Arc e os clusters do AKS (Serviço de Kubernetes do Azure). Acesse o artigo para usar o Policy com o Flux v2. Finalmente, o Azure interromperá o suporte ao GitOps com o Flux v1. Portanto, comece a usar o Flux v2 assim que possível.

Para usar o Azure Policy, selecione uma definição de política GitOps interna e crie uma atribuição de política. Ao criar a atribuição de política:

  1. Defina o escopo para a atribuição.
    • O escopo será todos os grupos de recursos em uma assinatura ou grupo de gerenciamento ou grupos de recursos específicos.
  2. Defina os parâmetros para a configuração do GitOps que será criada.

Depois que a atribuição é criada, o mecanismo do Azure Policy identifica todos os clusters do Kubernetes habilitados para Azure Arc localizados dentro do escopo e aplica a configuração do GitOps a cada cluster.

Para habilitar a separação de preocupações, você pode criar várias atribuições de política, cada uma com uma configuração diferente do GitOps apontando para um repositório Git diferente. Por exemplo, um repositório pode ser usado por administradores de cluster e outros repositórios podem ser usados pelas equipes de aplicativos.

Dica

Há definições de políticas internas para esses cenários:

  • Um repositório público ou um repositório privado com chaves SSH criadas pelo Flux: Configure Kubernetes clusters with specified GitOps configuration using no secrets
  • Repositório privado com chaves SSH fornecidas pelo usuário: Configure Kubernetes clusters with specified GitOps configuration using SSH secrets
  • Repositório privado com chaves HTTPS fornecidas pelo usuário: Configure Kubernetes clusters with specified GitOps configuration using HTTPS secrets

Pré-requisito

Verifique se você tem permissões de Microsoft.Authorization/policyAssignments/write no escopo (assinatura ou grupo de recursos) em que deseja criar essa atribuição de política.

Criar uma atribuição de política

  1. No portal do Azure, vá para Política.
  2. Na seção Criação da barra lateral, escolha Definições.
  3. Na categoria "Kubernetes", escolha a definição de política interna "Configurar clusters do Kubernetes com a configuração do GitOps especificada sem usar segredos".
  4. Selecione Atribuir.
  5. Defina o Escopo do grupo de gerenciamento, a assinatura ou o grupo de recursos ao qual a atribuição de política será aplicada.
    • Se você quiser excluir algum recurso do escopo da atribuição da política, defina as Exclusões.
  6. Dê à atribuição de política um Nome e uma Descrição facilmente identificáveis.
  7. Verifique se Imposição de política está definida como Habilitado.
  8. Selecione Avançar.
  9. Defina os valores de parâmetro a serem usados durante a criação do recurso sourceControlConfigurations.
  10. Selecione Avançar.
  11. Habilitar Criar uma tarefa de correção.
  12. Verifique se Criar uma identidade gerenciada está marcada e se a identidade terá permissões de Colaborador.
  13. Selecione Examinar + criar.

Depois de criar a atribuição de política, a configuração é aplicada a novos clusters Kubernetes habilitados para o Azure Arc, criados dentro do escopo da atribuição de política.

Para clusters existentes, será necessário executar manualmente uma tarefa de correção. Essa tarefa normalmente leva de 10 a 20 minutos para que a atribuição de política entre em vigor.

Verificar uma atribuição de política

  1. No portal do Azure, navegue até um dos seus clusters Kubernetes habilitados para o Azure Arc.
  2. Na seção Configurações da barra lateral, selecione Políticas.
    • Na lista, você verá a atribuição de política que criou acima com o Estado de conformidade definido como Em conformidade.
  3. Na seção Configurações da barra lateral, selecione GitOps.
    • Na lista de configurações, você deve ver a configuração criada pela atribuição de política.
  4. Na seção Recursos do Kubernetes da barra lateral, selecione Namespaces e Cargas de trabalho.
    • Você verá o namespace e os artefatos que foram criados pela configuração do Flux.
    • Você verá os objetos descritos pelos manifestos no repositório Git implantados no cluster.

Próximas etapas

Configurar o Azure Monitor para Contêineres com clusters Kubernetes habilitados para Azure Arc.