Visão geral do Anthos Config Management

O Anthos Config Management permite que os operadores de cluster gerenciem clusters únicos, clusters com multilocação e implementações de Kubernetes de vários clusters usando arquivos, chamados configs, armazenados em um repositório Git (ou repo).

Alguns configs são manifestos de objetos do Kubernetes. Outros não são manifestos de objeto, mas fornecem informações necessárias pelo próprio Anthos Config Management. É possível gravar configs em YAML ou JSON. O Anthos Config Management procura atualizações nesses arquivos e aplica alterações em todos os clusters relevantes automaticamente.

Uma abordagem configuração como código permite gerenciar a configuração de seus clusters do Google Kubernetes Engine (GKE) ou Anthos GKE no local usando os mesmos princípios que você já pode estar usando para gerenciar seus aplicativos implantado no Kubernetes. Com o Anthos Config Management, você pode fazer o seguinte:

  • exigir revisões de código antes que as alterações sejam enviadas ao ambiente ativo e auditar exatamente qual confirmação causou uma alteração na configuração;
  • Reduza o risco de operações de sombra, onde alterações não pretendidas são enviadas para clusters ativos e onde é difícil entender as diferenças entre uma configuração documentada e seu ambiente ativo. Você pode exigir que todas as alterações na configuração do cluster sejam propagadas usando o Anthos Config Management e bloqueie o acesso direto à API do Kubernetes.
  • Altere a configuração de centenas de clusters com um único commit do Git, em vez de escrever scripts para executar milhares de comandos kubectl apply manualmente;
  • Garanta que uma mudança seja enviada para cada cluster relevante (e apenas a eles), com base nos metadados aplicados a cada um.
  • Use pipelines de integração contínua/implantação contínua (CI/CD) para testar alterações e aplicá-las automaticamente quando os testes forem aprovados.
  • Use uma estratégia de reversão e depois investigue para reverter as alterações interruptivas e colocar seus clusters ativos novamente em bom estado de funcionamento antes de corrigir a alteração problemática e aplicá-la como uma nova confirmação. Essa estratégia reduz a inatividade devido a interrupções relacionadas à configuração.

O Anthos Config Management sincroniza os estados dos seus clusters com o repositório Git. O controlador personalizado do Config Management Operator monitora seu repositório Git e os estados de seus clusters, mantendo-os consistentes para cada objeto Kubernetes que você escolher. Se o Operator falhar ao aplicar as alterações em um recurso, ele será deixado no último estado válido conhecido.

O Anthos Config Management pode configurar um único cluster ou vários clusters a partir de um único repositório Git.

Pré-requisitos

O Anthos Config Management requer um direito ativo do Anthos. Para informações sobre preços, entre em contato com vendas.

O Anthos Config Management usa namespaces, rótulos e anotações como partes principais da implementação, e um bom entendimento desses conceitos é útil antes de você começar.

Antes de escrever uma configuração, você precisa entender os campos obrigatórios e opcionais permitidos para esse objeto do Kubernetes.

Além disso, o Anthos Config Management introduz algumas novas terminologias e conceitos. Estes serão discutidos brevemente na próxima seção, junto a links para mais informações sobre cada conceito.

Novos conceitos

Os novos conceitos a seguir são essenciais para o Anthos Config Management.

Config

Um config é uma declaração de configuração do Kubernetes, escrita em YAML ou JSON, que o Anthos Config Management lê e aplica a um ou mais clusters para criar ou configurar um objeto ou recurso do Kubernetes nesses clusters. Os configs são armazenados em um repositório do Git. Veja também a definição de repo. Um config pode conter qualquer detalhe de configuração que pode ser aplicado a um cluster do Kubernetes usando kubectl edit ou kubectl apply. É possível até mesmo configurar recursos personalizados que já existem no cluster. Vários configs podem ser definidos em um único arquivo.

Para mais informações, consulte Como configurar objetos do Kubernetes.

Repo

O repo é o repositório Git, onde configs são armazenados, incluindo o config para o próprio Anthos Config Management. Todos os configs precisam ser armazenados no mesmo repo. Ao configurar o Anthos Config Management, você configura o repo, o branch e o subdiretório em que o Anthos Config Management monitora as alterações.

A estrutura do repositório é importante e é discutida mais em Como usar o repo do Anthos Config Management.

Diretório de namespace abstrato

O Anthos Config Management fornece um mecanismo chamado namespaces abstratos. Os namespaces abstratos permitem aplicar políticas a vários namespaces relacionados sem duplicar os configs e permitem substituir ou estender um config para um determinado namespace ou conjunto de namespaces.

Os namespaces abstratos funcionam usando uma hierarquia de estilo de sistema de arquivos no repo. A estrutura de diretórios do subdiretório namespaces/ determina quais políticas se aplicam a um namespace usando um mecanismo semelhante a uma árvore do sistema de arquivos. Os namespaces podem ser aninhados em subdiretórios, chamados diretórios de namespaces abstratos.

Para mais informações, consulte Visão geral da herança de namespace.

Como visualizar e verificar arquivos

O Anthos Config Management fornece uma API. Os comandos nomos e nomos.exe consomem a API e simplificam o processo de configuração do repo e dos configs de validação.

Para mais informações, consulte Como usar o comando nomos.

A seguir