Campos do ConfigManagement

Nesta página, explicamos os diferentes campos que podem ser definidos no objeto ConfigManagement. É possível usar esse objeto ao configurar o Config Sync com os comandos kubectl. Também é possível usar esses campos se você estiver gerenciando o Policy Controller com um objeto ConfigManagement em vez dos comandos gcloud do Policy Controller.

Configuração para recursos do Config Sync

Chave Descrição
spec.enableMultiRepo Se true, ativa as APIs RootSync e RepoSync. Essas APIs fornecem recursos adicionais do Config Sync, como sincronização de vários repositórios e a sincronização das configurações do Kustomize e Helm O padrão é false.
spec.enableLegacyFields Se true, ativa o uso de campos spec.git obsoletos no ConfigManagement enquanto ainda usa o modo de vários repositórios. Definir esse campo gera automaticamente um recurso RootSync no cluster.
spec.preventDrift Se true, ativa o webhook de admissão do Config Sync para evitar desvios ao rejeitar as alterações conflitantes que estão sendo enviadas para clusters ativos. O padrão é false. O Config Sync sempre corrige desvios, independentemente do valor desse campo.

Configuração do Policy Controller

Chave Descrição
spec.policyController.enabled Se true, ativa o Policy Controller. O padrão é false.
spec.policyController.templateLibraryInstalled Se true, instala uma biblioteca de modelos de restrição para tipos de política comuns. O padrão é true.
spec.policyController.referentialRulesEnabled Se true, ativa o suporte para restrições referenciais. Entenda as advertências sobre consistência posterior. O padrão é false.
spec.policyController.auditIntervalSeconds Período em segundos entre auditorias consecutivas de violações de restrições. Defina como 0 para desativar a auditoria. Padrão: 60.
spec.policyController.logDeniesEnabled Se true, registra todas as negações e falhas de simulação. O padrão é false.
spec.policyController.mutation.enabled Se true, permite compatibilidade com mutações O padrão é false.
spec.policyController.exemptableNamespaces Uma lista de namespaces a serem removidos da aplicação do webhook de admissão do Policy Controller. Todas as violações ainda serão informadas na auditoria. O padrão é uma lista vazia.
spec.policyController.monitoring.backends Uma lista de back-ends de monitoramento para o Policy Controller exportar métricas. Padrão: [cloudmonitoring, prometheus].

Configuração para comportamento do objeto ConfigManagement

Chave Descrição
spec.clusterName O nome definido pelo usuário para o cluster usado por ClusterSelectors para agrupar os clusters. Exclusivo em uma instalação do Config Sync. Não é possível configurar esse campo no console do Google Cloud.

Exemplo do objeto ConfigManagement

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Configuração para repositórios Git (descontinuado)

Chave Descrição
spec.git.gcpServiceAccountEmail A conta de serviço do Google Cloud usada para anotar a conta de serviço do Kubernetes do controlador RootSync ou RepoSync. Este campo é usado apenas quando spec.git.secretType é gcpserviceaccount.
spec.git.syncRepo O URL do repositório Git para usar como fonte. Obrigatório.
spec.git.syncBranch A ramificação do repositório com que sincronizar. Padrão: master.
spec.git.policyDir O caminho no repositório Git para o diretório raiz que contém a configuração que você quer sincronizar. Padrão: o diretório raiz do repositório
spec.git.syncWait A duração de tempo entre sincronizações consecutivas. Padrão: 15 s.
spec.git.syncRev Revisão Git (tag ou hash) para check-out. Padrão HEAD.
spec.git.secretType O tipo de secret configurado para acesso ao repositório Git. Um de ssh, cookiefile, token, gcenode, gcpserviceaccount ou none. Obrigatório.
spec.sourceFormat O formato do seu repositório Git. Pode ser unstructured ou hierarchy. Padrão: hierarchy.

Configuração de proxy para o repositório Git

Se as políticas de segurança da sua organização exigirem o roteamento do tráfego por meio de um proxy HTTP(S), use o URI do proxy para configurar o Config Sync para se comunicar com o host Git. O proxy só é compatível com o tipo de autorização cookiefile, none ou token.

Chave Descrição
spec.git.proxy.httpProxy Define uma variável de ambiente HTTP_PROXY usada para acessar o repositório Git.
spec.git.proxy.httpsProxy Define uma variável de ambiente HTTPS_PROXY usada para acessar o repositório Git.

Se os campos httpProxy e httpsProxy forem especificados, httpProxy será ignorado.