Nesta página, explicamos os diferentes campos que podem ser usados para configurar o Config Sync com a flag --config no comando
apply
da CLI do Google Cloud e a flag --fleet-default-member-config no comando
enable
na faixa de lançamento beta. Agora, esse esquema de campo não é recomendado na
faixa de lançamento alpha do comando enable
em favor do
novo esquema de API
.
O formato do arquivo usado com essas flags da 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 comum para o Config Management
| Chave | Descrição |
|---|---|
spec.version |
A versão do Config Management. Se você estiver configurando o Config Management para um cluster, a versão padrão será a versão atual da instalação do Config Management no cluster em questão. Caso contrário, para configuração em toda a frota ou na ausência de uma instalação no cluster de destino, o padrão é a versão mais recente. |
Configuração para o Config Sync
| Chave | Descrição |
|---|---|
spec.cluster |
O nome do cluster usado pela anotação
cluster-name-selector ou ClusterSelector do Config Sync,
para aplicar configurações apenas a um subconjunto de clusters. Defina esse campo se um nome
diferente do nome de assinatura da frota do cluster for usado pela
anotação cluster-name-selector do Config Sync ou pelo ClusterSelector. |
spec.upgrades |
(Visualização) A configuração de upgrade do Config Sync.
O valor padrão e único aceito é manual.
|
spec.configSync.enabled |
Se true, instala e gerencia o
Config Sync.
Se false, desinstala qualquer Config Sync gerenciado anteriormente
e ignora o restante da configuração .spec.configSync.
Obrigatório para a CLI gcloud versão 429.0.0 e anteriores. Opcional para a CLI gcloud versão 430.0.0 e posterior. Padrão: true |
spec.configSync.sourceType |
O tipo de origem da sincronização do Config Sync.
Aceita git ou oci. Padrão: git. |
spec.configSync.syncRepo |
O URL do repositório Git, da imagem OCI ou do gráfico Helm que será usado 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. Este
campo é opcional e o padrão é master. Recomendamos usar o campo
spec.configSync.syncRev para especificar um nome de ramificação. Se os dois campos forem usados, o campo spec.configSync.syncRev terá precedência sobre spec.configSync.syncBranch.
|
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) ou ramificação para sincronizar. Este campo será ignorada se
.spec.configSync.sourceType for definido como oci. Esse
campo é opcional e o valor padrão é HEAD. Ao usar um hash,
ele precisa ser completo, e não uma forma abreviada.
|
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. |
spec.configSync.stopSyncing |
Se true, interrompe a sincronização de configurações para um único cluster.
O padrão é false. |
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.metricsGcpServiceAccountEmail |
Descontinuado: se a Federação de identidade da carga de trabalho para o GKE estiver ativada, a conta de serviço Google Cloud não será necessária para exportar métricas do Config Sync. Use uma conta de serviço do Kubernetes. |
spec.configSync.sourceFormat |
Quando definido como unstructured, configura um
repositório não hierárquico.
Padrão: hierarchy. |
spec.configSync.deploymentOverrides |
Uma lista de configurações de substituição de recursos para implantações do Config Sync.
O campo se aplica apenas a implantações do Config Sync com
contêineres que não são um reconciliador de raiz ou namespace, como
reconciler-manager. Se for necessário substituir um reconciliador de raiz ou namespace, use os
campos rootsync ou reposync. Opcional. |
spec.configSync.deploymentOverrides.name |
O nome da implantação do Config Sync a ser substituída. O valor não pode ficar vazio. |
spec.configSync.deploymentOverrides.namespace |
O namespace da implantação do Config Sync a ser substituída. O valor não pode ficar vazio. |
spec.configSync.deploymentOverrides.containers |
Uma lista de configurações de substituição para solicitações e limites de contêineres do Config Sync. Opcional. |
spec.configSync.deploymentOverrides.containers.name |
O nome do contêiner do Config Sync a ser substituído. O valor não pode ficar vazio. |
spec.configSync.deploymentOverrides.containers.cpuRequest |
A solicitação de CPU para o contêiner. Use unidades de recursos de CPU no Kubernetes. Opcional. |
spec.configSync.deploymentOverrides.containers.cpuLimit |
O limite de CPU para o contêiner. Use unidades de recursos de CPU no Kubernetes. Opcional. |
spec.configSync.deploymentOverrides.containers.memoryRequest |
A solicitação de memória para o contêiner. Use unidades de recursos de memória no Kubernetes. Opcional. |
spec.configSync.deploymentOverrides.containers.memoryLimit |
O limite de memória do contêiner. Use unidades de recursos de memória no Kubernetes. Opcional. |
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. Por exemplo,
https://proxy.internal.business.co:443.O proxy HTTPS só aceita URLs https ou sem adornos.
Os URLs que contêm http:// são rejeitados.Se você estiver usando um URL não adornado, verifique se a comunicação entre o servidor proxy e o host do Git é segura. |
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: main
secretType: none
policyDir: config-sync-quickstart/multirepo/root
Exemplo de especificação do gcloud apply com substituições de recursos de implantação
Se você quiser personalizar as solicitações e os limites de recursos do Config Sync, adicione o campo deploymentOverrides na especificação de aplicação. Por exemplo, o YAML a seguir substitui os limites de CPU e memória do contêiner reconciler-manager:
applySpecVersion: 1
spec:
configSync:
enabled: true
deploymentOverrides:
- name: reconciler-manager
namespace: config-management-system
containers:
- name: reconciler-manager
cpuRequest: 50m
cpuLimit: 100m
memoryRequest: 256Mi
memoryLimit: 512Mi