Campos de especificação de aplicação do gcloud

Nesta página, explicamos os diferentes campos que podem ser definidos no arquivo de configuração do Anthos Config Management. Use esse arquivo ao configurar os componentes do Anthos Config Management com a Google Cloud CLI. O comando da CLI gcloud que você usa para aplicar o arquivo de configuração também tem documentação de referência.

O formato do arquivo usado com a CLI gcloud é semelhante ao formato do objeto ConfigManagement. No entanto, os formatos são diferentes e os dois não são intercambiáveis.

Configuração para o Config Sync

Chave Descrição
spec.configSync.enabled Se true, ativa o Config Sync. O padrão é false.
spec.configSync.sourceType O tipo de origem da sincronização do Config Sync. Aceita git ou oci. Esse campo é compatível com o Anthos Config Management versão 1.12.0 e mais recentes. Padrão: git.
spec.configSync.syncRepo É o URL do repositório Git ou da imagem OCI que será usada como fonte da verdade. É possível omitir esse campo se você não tiver um repositório preparado.
spec.configSync.syncBranch A ramificação do repositório com que sincronizar. Este campo será ignorada se .spec.configSync.sourceType for definido como oci. Padrão: master.
spec.configSync.policyDir O caminho no repositório Git ou na imagem OCI 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.configSync.syncWait Período em segundos entre sincronizações consecutivas. Padrão: 15.
spec.configSync.syncRev Revisão Git (tag ou hash) para check-out. Este campo será ignorada se .spec.configSync.sourceType for definido como oci. Padrão: HEAD.
spec.configSync.preventDrift Se true, ativa o webhook de admissão do Config Sync para evitar desvios rejeitando as alterações conflitantes que estão sendo enviadas para clusters ativos. Padrão: false O Config Sync sempre corrige desvios, independentemente do valor desse campo. Esse campo é compatível com o Anthos Config Management versão 1.10.0 e posterior.
spec.configSync.secretType O tipo de Secret configurado para acessar o .spec.configSync.syncRepo. Se você tiver selecionado git como o tipo de origem, o valor precisará ser ssh, cookiefile, gcenode, gcpserviceaccount, token ou none. Se você tiver selecionado oci como o tipo de origem, o valor precisará ser gcenode, gcpserviceaccount ou none. A validação desse campo diferencia maiúsculas de minúsculas. Obrigatório.
spec.configSync.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.configSync.secretType é gcpserviceaccount.
spec.configSync.sourceFormat Quando definido como unstructured, configura um repositório não hierárquico. 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 HTTPS, 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.configSync.httpsProxy Define uma variável de ambiente HTTPS_PROXY usada para acessar o repositório Git.

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.mutationEnabled 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]. Esse campo é compatível com o Anthos Config Management versão 1.12.0 e mais recentes.

Configuração do controlador de hierarquia

Chave Descrição
spec.hierarchyController.enabled Se true, ativa o controlador de hierarquia. O padrão é false.
spec.hierarchyController.enableHierarchicalResourceQuota Se true, ativa cotas de recursos hierárquicas. O padrão é false.
spec.hierarchyController.enablePodTreeLabels Se true, ativa a observação hierárquica de cargas de trabalho. O padrão é false.

Exemplo de especificação do gcloud apply

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: init
    secretType: none
    policyDir: quickstart/multirepo/root
  policyController:
    enabled: false
  hierarchyController:
    enabled: false