Usar o GitOps para configurar clusters Kubernetes habilitados para Azure Arc
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 compatível com 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.
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.
Em um cluster Kubernetes, o GitOps é ativado como um recurso de extensão de cluster de tipo Microsoft.KubernetesConfiguration/extensions/microsoft.flux
. Para criar fluxConfigurations
, a extensão microsoft.flux
deve ser instalada no cluster. A extensão é instalada automaticamente quando você cria a primeira instância Microsoft.KubernetesConfiguration/fluxConfigurations
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 com Azure Arc e seu repositório GitOps correspondente reside no Azure como parte do recurso Azure do cluster Kubernetes com 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.
- Utilize a extensão CLI do
k8s-configuration
Azure para aplicar uma configuração do Flux e ativar o GitOps no seu cluster Kubernetes habilitado para Arc. - 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 ao atribuir primeiro a definição de política Configurar instalação da extensão Flux no cluster Kubernetes, que garante a instalação da extensão.
A criação da atribuição de Política do Azure no portal do Azure consiste nas seguintes etapas de alto nível:
- No portal do Azure, exiba todas as definições de política pesquisando e selecionando Política, em seguida, selecionando Definições no menu esquerdo da página Política.
- Pesquise Configurar clusters Kubernetes com a configuração GitOps especificadae selecione uma das definições de política integradas.
- Selecione Atribuire crie uma atribuição de política especificando as definições para o âmbito, parâmetros e remediação.
- Selecione Rever + criare, 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, você precisa executar manualmente a tarefa de correção.
Você aprenderá mais sobre a Política do Azure na próxima unidade.