Implante aplicativos consistentemente em escala usando as configurações do Flux v2 e a Política do Azure

Você pode usar a Política do Azure para aplicar configurações do Flux v2 (tipo de recurso) em escala em clusters Kubernetes () ou AKS (Microsoft.KubernetesConfiguration/fluxConfigurationsMicrosoft.Kubernetes/connectedClustersMicrosoft.ContainerService/managedClusters) habilitados para Azure Arc. Para usar a Política do Azure, selecione uma definição de política interna e crie uma atribuição de política.

Antes de atribuir a política que cria as configurações do Flux, você deve garantir que a extensão do Flux seja implantada em seus clusters. Você pode fazer isso atribuindo primeiro uma política que implanta a extensão a todos os clusters no escopo selecionado (todos os grupos de recursos em uma assinatura ou grupo de gerenciamento ou a grupos de recursos específicos). Em seguida, ao criar a atribuição de política para implantar configurações, você define parâmetros para a configuração do Flux que será aplicada aos clusters nesse escopo.

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 Flux v2 apontando para uma fonte diferente. Por exemplo, um repositório Git pode ser usado por administradores de cluster, enquanto outros repositórios podem ser usados por equipes de aplicativos.

Definições de política incorporadas

As seguintes definições de política internas fornecem suporte para esses cenários:

Description Política
Instalação da extensão Flux (necessária para todos os cenários) Configure installation of Flux extension on Kubernetes cluster
Configuração de fluxo usando repositório Git público (geralmente um cenário de teste) Configure Kubernetes clusters with Flux v2 configuration using public Git repository
Configuração de fluxo usando repositório Git privado com autenticação SSH Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets
Configuração de fluxo usando repositório Git privado com autenticação HTTPS Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets
Configuração de fluxo usando repositório Git privado com autenticação cert CA HTTPS Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate
Configuração de fluxo usando repositório Git privado com segredo K8s local Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets
Configuração de fluxo usando a origem privada do bucket e segredos do KeyVault Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault
Configuração de fluxo usando fonte de bucket privada e segredo local do K8s Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets

Para encontrar todas as definições de política do Flux v2, pesquise por flux. Para obter mais informações, consulte Definições internas de política do Azure para Kubernetes habilitados para Azure Arc.

Pré-requisitos

  • Um ou mais clusters Kubernetes habilitados para Arc e/ou clusters AKS.
  • Microsoft.Authorization/policyAssignments/write no escopo (assinatura ou grupo de recursos) onde você criará as atribuições de política.

Criar uma atribuição de política para instalar a extensão Flux

Para que uma política aplique configurações do Flux v2 a um cluster, a extensão do Flux deve primeiro ser instalada no cluster. Para garantir que a extensão seja instalada em cada um dos clusters, atribua a definição de política Configurar instalação da extensão de cluster do Flux no Kubernetes ao escopo desejado.

  1. No portal do Azure, navegue até Política.
  2. Na seção Criação da barra lateral, selecione Definições.
  3. Na categoria "Kubernetes", selecione a definição de política interna Configurar instalação da extensão Flux no cluster Kubernetes.
  4. Selecione Atribuir.
  5. Defina o Escopo como o grupo de gerenciamento, assinatura ou grupo de recursos ao qual a atribuição de política será aplicada.
    • Se quiser excluir quaisquer recursos do escopo de atribuição de política, defina Exclusões.
  6. Dê à atribuição de política um Nome e uma Descrição da Atribuição facilmente identificáveis.
  7. Verifique se a aplicação da política está definida como Habilitada.
  8. Selecione Rever + criar e, em seguida, selecione Criar.

Criar uma atribuição de política para aplicar configurações do Flux

Em seguida, retorne à lista Definições (na seção Criação da Política) para aplicar a definição de política de configuração ao mesmo escopo.

  1. Na categoria "Kubernetes", selecione Configurar clusters Kubernetes com a configuração do Flux v2 usando a definição de política interna do repositório Git público ou uma das outras definições de política para aplicar as configurações do Flux.

  2. Selecione Atribuir.

  3. Defina o Escopo para o mesmo escopo que você selecionou ao atribuir a primeira política, incluindo quaisquer exclusões.

  4. Dê à atribuição de política um Nome e uma Descrição da Atribuição facilmente identificáveis.

  5. Verifique se a aplicação da política está definida como Habilitada.

  6. Selecione Avançar e, em seguida, selecione Avançar novamente para abrir a guia Parâmetros .

  7. Defina os valores de parâmetro a serem usados.

  8. Selecione Avançar para abrir a tarefa de correção .

  9. Habilite Criar uma tarefa de correção.

  10. Verifique se Criar uma Identidade Gerenciada está marcada e se a identidade tem permissões de Colaborador. Para obter mais informações, consulte Guia de início rápido: criar uma atribuição de política para identificar recursos não compatíveis e Corrigir recursos não compatíveis com a Política do Azure.

  11. Selecione Rever + criar e, em seguida, selecione Criar.

A configuração é então aplicada a novos clusters Kubernetes ou AKS habilitados para Azure Arc criados dentro do escopo da atribuição de política.

Para clusters existentes, talvez seja 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 a atribuição de política

  1. No portal do Azure, navegue até um dos seus clusters Kubernetes ou AKS habilitados para Azure Arc.

  2. Na seção Configurações da barra lateral, selecione GitOps.

    Na lista de configurações, você verá a configuração criada pela atribuição de política.

  3. Na seção Recursos do Kubernetes da barra lateral, selecione Namespaces e Cargas de trabalho.

    Você deve ver o namespace e os artefatos que foram criados pela configuração do Flux. Você também deve ver os objetos descritos pelos manifestos no repositório Git implantado no cluster.

Personalizar uma política

As políticas internas abrangem os principais cenários para usar GitOps com Flux v2 em seus clusters Kubernetes. No entanto, devido a limitações no número de parâmetros permitidos nas atribuições de Política do Azure (máximo de 20), nem todos os parâmetros estão presentes nas políticas internas. Além disso, para caber dentro do limite de 20 parâmetros, apenas uma única kustomização pode ser criada com as políticas internas.

Se você tiver um cenário diferente das políticas internas, poderá superar as limitações criando políticas personalizadas usando as políticas internas como modelos. Você pode criar políticas personalizadas que contenham apenas os parâmetros necessários e codificar o restante, portanto, trabalhando em torno do limite de 20 parâmetros.

Próximos passos