Usar o GitOps para configurar clusters Kubernetes habilitados para Azure Arc

Concluído

Um dos principais benefícios do Azure Arc é facilitar a implementação dos princípios de DevOps, que aplicam práticas de desenvolvimento estabelecidas às operações. O DevOps aumenta a agilidade sem comprometer a estabilidade do ambiente de TI.

O Kubernetes habilitado para Azure Arc dá suporte ao GitOps, uma prática de DevOps que simplifica as versões de aplicativos reduzindo o esforço de implantação manual.

Nesta unidade, você aprenderá sobre o GitOps e como configurá-lo para clusters Kubernetes habilitados para Azure Arc.

GitOps para Kubernetes habilitado para Arc

O GitOps facilita a padronização das configurações do Kubernetes em toda a sua organização, incluindo o Kubernetes habilitado para Arc. Um repositório ou outra fonte de arquivo hospeda arquivos de configuração que representam o estado esperado de um recurso. Por exemplo, uma configuração de linha de base pode incluir o modelo de delegação, as configurações de monitoramento e registro em log e as características dos serviços em todo o cluster.

Um agente em execução no cluster do Kubernetes monitora o estado do repositório. Quando há uma alteração de configuração, o agente extrai os arquivos atualizados para o cluster e aplica a nova configuração, garantindo que o cluster permaneça no estado desejado.

Os clusters Kubernetes habilitados para Azure Arc dependem do Flux, um operador de implantação de GitOps de código aberto popular que automatiza as implantações de configuração no cluster. O Flux suporta fontes de arquivos comuns, como repositórios Git, repositórios Helm e Buckets, e suporta os tipos de modelo de configuração YAML, Helm e Kustomize.

O diagrama a seguir mostra um fluxo GitOps que usa o Flux para implantar configurações de cluster e atualizações de aplicativos.

Diagram of the GitOps flow showing an application update.

Configurar GitOps

O GitOps associa seu cluster Kubernetes habilitado para Arc a uma ou mais fontes de arquivos, como um repositório Git. Cada repositório pode conter configurações de quaisquer recursos válidos do Kubernetes, como namespaces ou implantações na forma de arquivos de manifesto.

O diagrama a seguir mostra o processo de aplicação de configurações baseadas em GitOps a vários clusters habilitados para Azure Arc.

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

O GitOps é habilitado em um cluster Kubernetes como um recurso de extensão de Microsoft.KubernetesConfiguration/extensions/microsoft.flux cluster. Para criar fluxConfigurationso , a microsoft.flux extensão deve ser instalada no cluster. A extensão é instalada automaticamente quando você cria a primeira Microsoft.KubernetesConfiguration/fluxConfigurations instância em um cluster. Você também pode instalar a extensão manualmente antes de criar suas configurações.

Cada associação entre uma configuração de cluster do Kubernetes habilitada para o Azure Arc e seu repositório GitOps correspondente reside no Azure como parte do recurso do Azure do cluster Kubernetes habilitado para Azure Arc. Você pode configurar a associação usando interfaces de gerenciamento do Azure, como o portal do Azure ou a CLI do Azure.

Use as etapas de alto nível a seguir para implementar o GitOps com um cluster Kubernetes habilitado para Azure Arc.

  1. Use a extensão CLI do k8s-configuration Azure para aplicar uma configuração do Flux e habilitar o GitOps em seu cluster Kubernetes habilitado para Arc.
  2. Valide a configuração para confirmar a criação bem-sucedida. O recurso de configuração é atualizado com status de conformidade, mensagens e informações de depuração.

Depois de aplicar a configuração, você pode usar o portal do Azure para exibir detalhes de conformidade. Você também pode usar o portal do Azure para criar, atualizar e excluir configurações do GitOps.

Usar a Política do Azure para automatizar a configuração

Você pode usar a Política do Azure para automatizar o processo de configuração, para que possa aplicá-la consistentemente em escala. Antes de atribuir uma política para configurar os clusters, você deve certificar-se de que a extensão Flux é criada nos clusters. Você pode fazer isso atribuindo primeiro a definição de política de cluster Configurar instalação do Flux no Kubernetes, que garante que a extensão esteja instalada.

A criação da atribuição de Política do Azure no portal do Azure consiste nas seguintes etapas de alto nível:

  1. No portal do Azure, exiba todas as definições de política pesquisando e selecionando Política e, em seguida, selecionando Definições no menu esquerdo da página Política.
  2. Procure Configurar clusters Kubernetes com configuração de GitOps especificada e selecione uma das definições de política internas.
  3. Selecione Atribuir e crie uma atribuição de política especificando as configurações de escopo, parâmetros e correção.
  4. Selecione Rever + criar e, em seguida, selecione Criar.

A atribuição de política habilita automaticamente o GitOps para cada cluster Kubernetes habilitado para Azure Arc criado no escopo da atribuição. Para clusters existentes, tem de executar manualmente a tarefa de remediação.

Você aprenderá mais sobre a Política do Azure na próxima unidade.