Implantar aplicativos consistentemente em escala usando configurações do Flux v2 e o Azure Policy
Você pode usar o Azure Policy para aplicar configurações do Flux v2 (Microsoft.KubernetesConfiguration/fluxConfigurations
tipo de recurso ) em escala nos clusters do Kubernetes habilitados para Azure Arc (Microsoft.Kubernetes/connectedClusters
) ou nos clusters do AKS (Microsoft.ContainerService/managedClusters
). Para usar o Azure Policy, selecione uma definição de política interna e crie uma atribuição de política.
Antes de atribuir a política que cria configurações do Flux, você deve certificar-se de que a extensão do Flux seja implantada em seus clusters. Você pode fazer isso atribuindo uma política que implanta a extensão a todos os clusters no escopo selecionado (todos os grupos de recursos em um grupo de gerenciamento ou assinatura ou para grupos de recursos específicos). Em seguida, ao criar a atribuição de política para implantar configurações, defina 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 a uma fonte diferente. Por exemplo, um repositório Git pode ser usado por administradores de clusters, enquanto outros repositórios podem ser usados pelas equipes de aplicativos.
Definições de políticas internas
As definições de políticas internas dão suporte a esses cenários:
Descrição | Política |
---|---|
Instalação da extensão do Flux (necessária para todos os cenários) | Configure installation of Flux extension on Kubernetes cluster |
Configuração do Flux usando o repositório Git público (geralmente um cenário de teste) | Configure Kubernetes clusters with Flux v2 configuration using public Git repository |
Configuração do Flux usando o repositório Git privado com autenticação SSH | Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets |
Configuração do Flux usando o repositório Git privado com autenticação HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets |
Configuração do Flux usando o repositório Git privado com autenticação de certificado de autoridade de certificação HTTPS | Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate |
Configuração do Flux usando o repositório Git privado com segredo K8s local | Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets |
Configuração do Flux usando a origem Bucket privado e os segredos do KeyVault | Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault |
Configuração do Flux usando a origem Bucket privado e segredo K8s local | Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets |
Para localizar todas as definições de política do Flux v2, pesquise flux. Para obter mais informações, confira Definições internas do Azure Policy para Kubernetes habilitado para Azure Arc.
Pré-requisitos
- Um ou mais clusters do Kubernetes habilitados para Arc e/ou clusters do AKS.
- Permissões
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 para instalar a extensão do Flux
Para que uma política aplique configurações do Flux v2 a um cluster, a extensão do Flux primeiro deve 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 a instalação da extensão do Flux no cluster do Kubernetes ao escopo desejado.
- No portal do Azure, vá para Política.
- Na seção Criação da barra lateral, escolha Definições.
- Localize a definição de política interna Configurar a instalação da extensão flux no cluster do Kubernetes e selecione-a.
- Selecione Atribuir política.
- 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.
- Dê à atribuição de política um Nome de atribuição e uma Descrição facilmente identificáveis.
- Verifique se Imposição de política está definida como Habilitado.
- Selecione Examinar + criare Criar.
Crie uma atribuição de política para aplicar configurações do Flux
Em seguida, retorne à lista Definições (na seção Criação do Policy) para aplicar a definição da política de configuração ao mesmo escopo.
Encontre e selecione a definição de política interna Configurar clusters do Kubernetes com a configuração do Flux v2 usando o repositório Git público ou uma das outras definições de política para aplicar configurações do Flux.
Selecione Atribuir política.
Defina o Escopo para o mesmo escopo selecionado ao atribuir a primeira política, incluindo exclusões.
Dê à atribuição de política um Nome de atribuição e uma Descrição facilmente identificáveis.
Verifique se Imposição de política está definida como Habilitado.
Selecione Avançar para abrir a guia Parâmetros.
Defina os valores de parâmetro a serem usados usando os nomes de parâmetro da definição de política.
- Para obter mais informações sobre parâmetros, consulte Parâmetros compatíveis com o GitOps (Flux v2).
- Ao criar configurações do Flux via política, você precisa fornecer um valor para um (e apenas um) destes parâmetros:
repositoryRefBranch
,repositoryRefTag
,repositoryRefSemver
erepositoryRefCommit
.
Selecione Avançar para abrir a tarefa de Correção.
Habilitar Criar uma tarefa de correção.
Verifique se a opção Criar uma Identidade Gerenciada está marcada e se Colaborador está listado na seção Permissões. Para obter mais informações, confira Início Rápido: criar uma atribuição de política para identificar recursos fora de conformidade e Corrigir recursos fora de conformidade com o Azure Policy.
Selecione Examinar + criare Criar.
Em seguida, a configuração é aplicada a novos clientes criados no 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
- No portal do Azure, navegue até um cluster do AKS ou Kubernetes habilitado para Azure Arc que esteja dentro do escopo da atribuição de política.
- No menu de serviço, em Configurações, selecione GitOps. Na lista Configurações, você deve ver a configuração criada pela atribuição de política.
- No menu de serviço, em Recursos do Kubernetes, selecione Namespaces. Você deverá ver o namespace que foi criado pela configuração do Flux.
Personalizar uma política
As políticas internas abrangem os principais cenários para usar o GitOps com o Flux v2 em seus clusters do Kubernetes. No entanto, devido ao limite de 20 parâmetros permitidos nas atribuições do Azure Policy, nem todos os parâmetros são incluídos nas políticas internas. Além disso, para se ajustar ao limite de 20 parâmetros, apenas uma personalização pode ser criada com as políticas internas.
Se você tiver um cenário diferente das políticas internas, poderá superar essas limitações criando políticas personalizadas usando as políticas internas como modelos. Para contornar o limite de 20 parâmetros, você pode criar políticas personalizadas que contêm apenas os parâmetros necessários e codificar o restante.