Nesta página, explicamos como configurar o Config Sync usando comandos kubectl
depois de
instalar o Config Sync usando o console Google Cloud ou a Google Cloud CLI.
É possível fazer muitas alterações de configuração usando o console ou a CLI, mas você
precisa usar comandos kubectl para
substituir alguns padrões do Config Sync a fim de controlar a verificação de certificados
SSL e usar uma autoridade certificadora.
Criar e editar o arquivo de configuração RootSync
Para configurar o Config Sync usando comandos kubectl, edite um
objeto RootSync criando
um arquivo YAML.
Quando você instala o Config Sync usando o console do Google Cloud ou
a Google Cloud CLI, o Config Sync cria automaticamente um objeto RootSync chamado
root-sync. Esse objeto contém as informações de configuração mais recentes do
Config Sync. Sempre que você faz uma mudança no console do Google Cloud ou
na Google Cloud CLI, o root-sync é atualizado.
Saiba mais sobre os campos que podem ser editados com kubectl
É possível fazer mudanças avançadas em root-sync usando comandos kubectl para os
campos não compatíveis com o console do Google Cloud ou a Google Cloud CLI. Se você quiser
criar e atualizar objetos RootSync ou RepoSync diretamente usando comandos
kubectl, consulte
Campos RootSync e RepoSync.
Antes de fazer qualquer alteração no arquivo YAML criado na próxima seção, conheça a tabela a seguir. Esta tabela lista os campos que podem ser editados e adicionados. Se você editar campos não listados nesta tabela, o Config Sync reverterá automaticamente as mudanças para os valores definidos na última configuração no console Google Cloud ou na Google Cloud CLI.
| Chave | Descrição |
|---|---|
spec.helm |
Todos os campos para configuração do repositório do Helm. |
spec.override |
Todos os campos para substituir as configurações padrão. |
spec.git.noSSLVerify |
Especifica se a verificação do certificado SSL será ativada ou desativada para o Git. O padrão é false.
|
spec.git.caCertSecretRef.name |
O nome do secret que contém o certificado da autoridade de certificação (CA) de um repositório Git. |
spec.oci.caCertSecretRef.name |
O nome do secret que contém o certificado da autoridade de certificação (CA) para um repositório do OCI. |
Criar o arquivo
Para criar e editar um arquivo de configuração para root-sync, siga estas
etapas:
Para garantir que você esteja recuperando as informações de configuração do cluster correto, configure o acesso da linha de comando de
kubectl:gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_IDSubstitua:
CLUSTER_NAME: o nome do cluster que tem a configuração do Config Sync que você quer alterarZONE: a zona em que você criou o clusterPROJECT_ID: ID do projeto
Copie as informações de configuração do objeto RootSync que o Config Sync criou em um arquivo YAML:
kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yamlSubstitua
FILE_NAMEpor um nome para o arquivo de configuração.Abra o arquivo YAML que você criou e faça as alterações de configuração necessárias. Por exemplo, para substituir o limite de memória do contêiner
git-sync, adicione os seguintes campos em negrito:apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omittedAplique as alterações ao arquivo YAML:
kubectl apply -f FILE_NAME.yamlPara verificar se o Config Sync aplicou suas alterações, consulte o objeto RootSync:
kubectl describe rootsync root-sync -n config-management-systemPara verificar se as mudanças não introduziram erros, use o comando
nomos status:nomos status
Configurar a autoridade certificadora
No caso dos servidores configurados com certificados de uma autoridade certificadora (CA, na sigla em inglês) que ainda não é confiável, o Config Sync pode ser configurado para usar um certificado CA para verificar as conexões HTTPS com o servidor. Isso é compatível com servidores Git, Helm ou OCI. O certificado de CA
precisa incluir certificados SSL completos (raiz/intermediário/folha).
Se o servidor já estiver usando uma CA confiável ou se você não estiver se conectando por HTTPS, pule esta etapa e deixe caCertSecretRef não definido.
RootSync
Busque e salve o certificado de CA usado para emitir o certificado do seu servidor Git.
Para objetos
RootSync, o Secret precisa ser criado no namespaceconfig-management-system. Por exemplo:kubectl create secret generic ROOT_CA_CERT_SECRET_NAME
--namespace=config-management-system
--from-file=cert=/path/to/CA_CERT_FILEAo configurar o objeto
RootSync, defina o valor do campocaCertSecretRef.nameno objetoRootSynccomo ROOT_CA_CERT_SECRET_NAME.
RepoSync
Busque e salve o certificado de CA usado para emitir o certificado do seu servidor Git.
Para objetos
RepoSync, o Secret precisa ser criado no mesmo namespace que o RepoSync. Por exemplo:kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME
--namespace=REPO_SYNC_NAMESPACE
--from-file=cert=/path/to/CA_CERT_FILEAo configurar o
RepoSync, defina o valor do campocaCertSecretRef.nameno objetoRepoSynccomo NAMESPACE_CA_CERT_SECRET_NAME.
Remover o objeto RootSync
Para excluir root-sync, execute o seguinte comando:
kubectl delete -f FILE_NAME
Substitua FILE_NAME pelo nome do arquivo de configuração
RootSync. Por exemplo, root-sync.yaml.
A exclusão de um objeto RootSync ou RepoSync não limpa as anotações e os identificadores do Config Sync. Para limpar todos os recursos gerenciados, sincronize em um diretório Git vazio.
A seguir
- Saiba mais sobre os campos RootSync e RepoSync.
- Descubra como monitorar objetos RootSync e RepoSync.