Campos RootSync e RepoSync

Esta página fornece uma referência para os recursos RootSync, RepoSync e ResourceGroup.

É possível usar os recursos RootSync e RepoSync para configurar o Config Sync.

Os objetos RootSync configuram o Config Sync para observar a origem especificada e aplicar objetos dessa fonte ao cluster. O RootSyncs pode ser usado para gerenciar qualquer recurso no cluster com permissões de administrador de cluster.

Os objetos do RepoSync configuram o Config Sync para observar a origem especificada e aplicar objetos dessa fonte a um namespace específico no cluster. Os objetos RepoSync são usados para gerenciar qualquer recurso com escopo de namespace nesse namespace com permissões personalizadas especificadas pelo usuário.

O recurso ResourceGroup é usado pelo Config Sync para manter o inventário de objetos que ele aplicou e gerencia atualmente. O Config Sync cria um objeto ResourceGroup para cada RootSync e RepoSync no cluster. Isso permite que o Config Sync remova os objetos removidos da origem e agregue a sincronização e o status de reconciliação do objeto. Você não precisa criar seus próprios objetos ResourceGroup, nem modificar os gerenciados pelo Config Sync.

Uso de objetos RootSync e RepoSync

Se você instalou o Config Sync usando o console do Google Cloud ou a Google Cloud CLI, o serviço do Hub criará automaticamente um objeto RootSync chamado root-sync. Consulte Controlar repositórios raiz em um repositório raiz para saber como criar outros objetos RootSync.

Se você instalou o Config Sync usando kubectl, consulte Controlar repositórios raiz em um repositório raiz para saber como criar o RootSync.

Para criar objetos RepoSync, consulte Controlar repositórios de namespaces em um repositório raiz ou Controlar repositórios de namespaces em um repositório de namespaces.

Além de sincronizar os objetos do Kubernetes totalmente renderizados, também é possível configurar o Config Sync para usar um repositório com configurações do Kustomize ou gráficos Helm.

Ciclo de vida dos objetos RootSync, RepoSync e ResourceGroup

As definições dos recursos personalizados RootSync, RepoSync e ResourceGroup são instaladas quando você instala o Config Sync.

O diagrama a seguir mostra uma visão geral de como o Config Sync cria os recursos RootSync, RepoSync e ResourceGroup:

Atuação do operador

Depois de criado, o Reconciler Manager gerencia o controle do ciclo de vida do Reconciler raiz e de cada processo do Reconciler de namespace:

Atuação do reconciliador

Campos RootSync e RepoSync

As CRDs do RootSync e do RepoSync usam os mesmos campos, exceto os seguintes campos exclusivos do RootSync:

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace

Configuração para o formato de origem

Chave Descrição
spec.sourceFormat sourceFormat especifica como o repositório é formatado. Opcional.
A validação desse campo diferencia maiúsculas de minúsculas.
  • Para objetos RootSync, o valor precisa ser hierarchy ou unstructured. O valor padrão será hierarchy se não for especificado, mas unstructured é recomendado.
Consulte os guias de formato não estruturado e hierárquico para mais detalhes.

Configuração para o tipo de origem

Chave Descrição
spec.sourceType sourceType especifica o tipo da fonte da verdade. Precisa ser git, ociou helm Opcional.
Definido como git se nada for especificado. A validação desse campo diferencia maiúsculas de minúsculas.
Somente spec.git ou spec.oci pode ser especificado, dependendo do tipo de origem.

Configuração para o repositório Git

Chave Descrição
spec.git.auth O tipo de secret configurado para acesso ao repositório Git. Precisa ser ssh, cookiefile, gcenode, gcpserviceaccount, token ou none. A validação desse campo diferencia maiúsculas de minúsculas. Obrigatório.
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.auth é gcpserviceaccount.
spec.git.branch A ramificação Git do repositório com que sincronizar. Padrão: master.
spec.git.dir O caminho absoluto 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.period A duração de tempo entre sincronizações consecutivas. Padrão: 15s.
spec.git.repo O URL do repositório Git do qual sincronizar. Obrigatório.
spec.git.revision A revisão do Git (tag, confirmação ou hash) para check-out. Padrão: HEAD.
spec.git.secretRef.name O nome do Secret usado para se conectar à origem do Git da verdade.
spec.git.noSSLVerify1 noSSLVerify especifica se a verificação do certificado SSL será ativada ou desativada. (Padrão: falso).
Se noSSLVerify estiver definido como verdadeiro, ele solicitará que o Git ignore a verificação do certificado SSL.
Este campo é compatível com o Config Management versão 1.8.2 e mais recentes.
spec.git.caCertSecretRef.name1 O nome do secret que contém o certificado da autoridade de certificação (CA). Se este campo for preenchido, o servidor git precisará usar um certificado emitido por essa CA. O certificado de CA precisa ser armazenado no secret com uma chave chamada "cert".

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.

Chave Descrição
spec.git.proxy O URL do proxy com o esquema para configurar o acesso ao repo Git usando um proxy. Exemplo: https://proxy.internal.business.co:443
O proxy do Git aceita https, http e URLs não adornados, mas http não é recomendado por questões de segurança.
Se você usar um http ou um URL não adornado, verifique se a comunicação entre o servidor proxy e o host do Git é segura.
Este campo só tem efeito quando spec.git.auth é cookiefile, none, or token.

Configuração da imagem OCI

O Config Sync exige que a camada OCI esteja compacta no formato tar ou tar+gzip.

Outros formatos (por exemplo, tar+bz2) não serão reconhecidos pelo Config Sync. Se você mudar de um REPO válido para uma imagem OCI com um formato incompatível, os recursos gerenciados serão removidos sem erro.

Chave Descrição
spec.oci.auth É o tipo de autenticação configurada para acesso à imagem OCI. Precisa ser gcenode, gcpserviceaccount, none, , ou . A validação desse campo diferencia maiúsculas de minúsculas. Obrigatório.
spec.oci.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.oci.auth é gcpserviceaccount.
spec.oci.dir O caminho absoluto 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.oci.period A duração de tempo entre sincronizações consecutivas. Padrão: 15s.
spec.oci.image O URL da imagem OCI do qual sincronizar. Obrigatório.

Configuração do repositório do Helm

Chave Descrição
spec.helm.auth O tipo de autenticação configurada para acesso ao repositório do Helm. Precisa ser token, gcenode, gcpserviceaccount, ou none. A validação desse campo diferencia maiúsculas de minúsculas. Obrigatório.
spec.helm.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.helm.auth é gcpserviceaccount.
spec.helm.secretRef.name O nome do secret usado para acessar o repositório do Helm. Este campo é usado apenas quando spec.helm.auth é token.
spec.helm.repo O URL do repositório Git do qual sincronizar. Obrigatório.
spec.helm.chart O nome do gráfico do Helm. Obrigatório.
spec.helm.version

O número da versão do gráfico do Helm. Padrão: a versão mais recente.

Nas versões do Config Sync anteriores à 1.16.0, o campo de versão está disponível, mas apenas as versões estáticas são compatíveis e os gráficos não são extraídos novamente. No Config Sync versão 1.16.0 e posterior, o campo de versão pode ser especificado como um valor estático, como um intervalo de versões de onde o Config Sync extrai a versão mais recente, ou pode ser deixado em branco para indicar que o Config Sync deve gerar o gráfico mais recente de acordo com o semver. Se especificado como um intervalo ou deixado em branco para indicar a versão mais recente, o Config Sync extrai novamente o gráfico a cada uma hora. No Config Sync versão 1.16.1 e mais recentes, o período de nova extração pode ser configurado com o campo spec.helm.period. Se a versão for especificada como a string literal "latest", o gráfico será extraído novamente de acordo com spec.helm.period, assim como com intervalos de versões ou versões em branco.

A sintaxe do intervalo de versão é idêntica à sintaxe do intervalo de versão compatível com a CLI do Helm.

Especificar a versão como um intervalo ou deixar o valor vazio pode causar alto uso de CPU para gráficos grandes com muitas versões. É possível usar spec.override para aumentar a solicitação de CPU com relação ao contêiner helm-sync, como no seguinte exemplo:


    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

No Config Sync versão 1.16.1 e mais recentes, spec.helm.period é o tempo que o Config Sync aguarda antes de extrair novamente o gráfico.

O valor padrão é 1 hora. O campo aceita valores de string, por exemplo, "30s" ou "5m". Consulte a documentação do Go sobre entradas válidas para mais informações.

Se a versão do gráfico for um intervalo, usar a tag literal "latest" ou for deixada vazia para indicar que o Config Sync precisa extrair a versão mais recente, o gráfico será extraído novamente de acordo com spec.helm.period. Se a versão do gráfico for especificada como uma única versão estática, o gráfico não será extraído novamente.

spec.helm.releaseName O nome da versão do Helm.
spec.helm.namespace Isso é mutuamente exclusivo com spec.helm.deployNamespace.
namespace define o namespace de destino de uma versão. Este campo é usado apenas com objetos RootSync. Ele apenas define o namespace para recursos que contêm namespace: {{ .Release.Namespace }} nos modelos. O valor especificado em spec.helm.namespace é usado apenas como o valor de Release.Namespace declarado nos seus modelos do Helm. Para os recursos que não tiverem namespace: {{ .Release.Namespace }} nos modelos, o namespace default será usado. Padrão: default
spec.helm.deployNamespace Isso é mutuamente exclusivo com spec.helm.namespace.
deployNamespace especifica e, qual namespace implantar o gráfico. Definir esse campo aproveita a Função kpt set-namespace, o que faz com que o Config Sync substitua os campos namespace de recursos do gráfico, incluindo metadata.namespace de recursos com escopo de namespace, metadata.name de objetos de namespace e referências de namespace em alguns tipos especiais de recursos.
Se deployNamespace não for definido, os recursos em que metadata.namespace não for definido serão implantados no namespace padrão.
spec.helm.values

Valores a serem usados em vez de valores padrão que acompanham o gráfico Formate os valores da mesma maneira com os valores padrão.yaml. Exemplo:


values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

Se valuesFileRefs também for especificado, os campos de values substituirão os campos de valuesFileRefs.

Para mais informações, consulte Manifesto de exemplo do Helm.

spec.helm.includeCRDs Especifica se o modelo do Helm deve gerar CustomResourceDefinitions. Padrão: false.
spec.helm.valuesFileRefs

Uma lista de referências a objetos no cluster que representam valores a serem usados em vez dos valores padrão que acompanham o gráfico. Somente ConfigMaps são compatíveis. O ConfigMap precisa ser imutável e estar no mesmo namespace que o RootSync ou o RepoSync.

Os ConfigMaps são imutáveis. Para alterar o valuesFile após a sincronização, é preciso criar um ConfigMap com um nome diferente e atualizar o spec.valuesFileRefs.name do RootSync ou do RepoSync.

Quando vários arquivos de valores são especificados, chaves duplicadas em arquivos posteriores substituem o valor de arquivos anteriores. Isso é equivalente a transmitir vários arquivos de valores para a CLI do Helm. Se spec.helm.values também for especificado, os campos de values substituirão os campos de valuesFileRefs.

Cada item da lista precisa conter o seguinte:

  • name (obrigatório): o nome do objeto ConfigMap
  • dataKey (opcional): a chave de dados no objeto que contém os valores a serem lidos. Padrão: values.yaml

Este campo é compatível com o Config Management 1.16.0 e versões mais recentes.

Para ver um exemplo de como alterar os valores, consulte /anthos-config-management/docs/how-to/sync-helm-charts-from-artifact-registry#valuesfilerefs.

Configuração para modificar as solicitações e os limites de recursos de um reconciliador de raiz ou de namespace

É possível substituir os contêineres git-sync, oci-sync, helm-sync, hydration-controller e reconciler. A substituição parcial é permitida: quando um valor de modificação para uma solicitação ou limite de recurso não é fornecido, o valor do recurso padrão é usado para a solicitação ou o limite.

Nos clusters do Autopilot, o Config Sync ignora as substituições de limite de recursos. As substituições de solicitação de recurso são aplicadas somente quando há uma ou mais solicitações de recursos superiores à saída ajustada correspondente declarada na anotação ou quando há uma ou mais solicitações de recurso menores que a entrada correspondente declarada na anotação. Para mais informações, consulte Requisitos de cluster para o Config Sync.

Chave Descrição
spec.override.resources1 A lista de solicitações de recursos do contêiner e modificações de limite. Opcional.
Cada item da lista contém três campos:
  • containerName: este campo pode ser git-sync, oci-sync, helm-sync, hydration-controller ou reconciler.
  • cpuRequest (opcional)
  • cpuLimit (opcional)
  • memoryRequest (opcional)
  • memoryLimit (opcional)

Quando um valor de modificação para uma solicitação ou limite de recurso não é fornecido, o valor padrão do recurso é usado.

Configuração para substituir o nível de registro de um contêiner na reconciliação de raiz ou namespace

Quando o valor de substituição no nível de registro não é definido, o nível de registro é configurado como o valor padrão. O nível de registro padrão para todos os contêineres em um reconciliador RootSync ou RepoSync é 0, com exceção do contêiner git-sync em que o padrão é 5. O valor de substituição do nível de registro aceito está entre 0 e 10, incluindo esses valores.

Chave Descrição
spec.override.logLevels A lista de valores de substituição no nível do registro do contêiner. Opcional.
Cada item da lista contém dois campos:
  • containerName: este campo pode ser git-sync, oci-sync, helm-sync, hydration-controller ou reconciler.
  • logLevel

Quando um valor de substituição para o nível de registro de um contêiner não é fornecido, o valor de nível de registro padrão é usado.

Configuração para o número de confirmações do Git a serem buscadas

Chave Descrição
spec.override.gitSyncDepth1 O gitSyncDepth permite substituir o número de confirmações do Git a serem buscadas.
Precisa ser menor que 0.
O Config Sync fará um clone completo se esse campo for 0, e um clone superficial se este campo for maior que 0.
Se esse campo não for fornecido, o Config Sync o configurará automaticamente.

Configuração para capturar o status no nível do recurso

Chave Descrição
spec.override.statusMode1 statusMode permite ativar ou desativar a captura do status no nível do recurso.
O padrão é enabled.
Para desativar a captura do status no nível do recurso, defina esse campo como disabled.

Configuração para substituir o tempo limite de reconciliação

Chave Descrição
spec.override.reconcileTimeout1 reconcileTimeout permite substituir o limite de tempo para aguardar recursos em um aplicar grupo para reconciliar antes de desistir. Todos os recursos em uma confirmação podem estar em vários grupos de aplicação com base nas dependências.
O tempo limite padrão é 5m.
Use a string para especificar esse valor de campo, como 30s, 5m.

Configuração para substituir o tempo limite das solicitações ao servidor da API

Chave Descrição
spec.override.apiServerTimeout1 apiServerTimeout permite substituir o tempo limite das solicitações ao servidor da API. O tempo limite padrão é 5s nas versões do Config Management anteriores à 1.16.0 e 15s nas versões 1.16.0 e mais recentes do Config Management.
Use a string para especificar esse valor de campo, como 30s, 5m.

Configuração para acesso ao shell no processo de renderização

Chave Descrição
spec.override.enableShellInRendering1 enableShellInRendering especifica se o acesso ao shell será ativado ou desativado no processo de renderização. As bases remotas do Kustomize precisam de acesso ao shell. Definir esse campo como true permite o acesso ao shell no processo de renderização e permite extrair bases remotas de repositórios públicos.
O padrão é false.

Status dos objetos

Chave Descrição
status.observedGeneration A geração (metadata.generation) da especificação de um recurso RootSync ou RepoSync que foi observado pela última vez e usado pelo Config Sync. Esse valor pode ser comparado com metadata.generation, que é um número inteiro e é atualizado na mutação de especificações pelo servidor da API.
status.reconciler O nome do processo de reconciliação que corresponde ao recurso de sincronização.
status.source.gitStatus.repo O URL do repositório Git que está sendo buscado.
status.source.gitStatus.revision A revisão do Git (tag, confirmação ou hash) que está sendo buscada.
status.source.gitStatus.branch A ramificação do Git do repositório que está sendo buscado.
status.source.gitStatus.dir O caminho absoluto no repositório Git para o diretório raiz que contém a configuração com que você está sincronizando.
status.source.ociStatus.image O URL da imagem OCI que está sendo buscada.
status.source.ociStatus.dir O caminho absoluto no repositório Git para o diretório raiz que contém a configuração com que você está sincronizando.
status.source.helmStatus.repo O URL do repositório do helm está sendo buscado.
status.source.helmStatus.version A versão do gráfico do capacete sendo buscada.
status.source.helmStatus.chart O nome do gráfico do Helm que está sendo buscado.
status.source.commit O hash da confirmação ou resumo mais recente buscado no URL de origem.
status.source.errors Uma lista de todos os erros que ocorreram durante a leitura do repositório.
status.rendering.gitStatus.repo O URL do repositório Git que está sendo renderizado.
status.rendering.gitStatus.revision A revisão do Git (tag, confirmação ou hash) que está sendo buscada.
status.rendering.gitStatus.branch A ramificação do Git do repositório que está sendo buscado.
status.rendering.gitStatus.dir O caminho absoluto no repositório Git para o diretório raiz que contém a configuração com que você está sincronizando.
status.rendering.ociStatus.image É o URL da imagem OCI que está sendo renderizada.
status.rendering.ociStatus.dir O caminho absoluto na imagem OCI para o diretório raiz que contém a configuração que você está renderizando.
status.rendering.helmStatus.repo O URL do repositório do helm está sendo renderizado.
status.rendering.helmStatus.version A versão do gráfico de helm em renderização.
status.rendering.helmStatus.chart O nome do gráfico do Helm que está sendo renderizado.
status.rendering.commit O hash da confirmação ou resumo mais recente renderizado. Esse valor é atualizado mesmo quando uma confirmação ou resumo é sincronizado apenas parcialmente devido a um erro.
status.rendering.errors Uma lista de todos os erros que ocorreram ao aplicar os recursos da alteração indicada por status.rendering.commit.
status.sync.gitStatus.repo O URL do repositório Git que está sendo sincronizado.
status.sync.gitStatus.revision A revisão do Git (tag, confirmação ou hash) que está sendo buscada.
status.sync.gitStatus.branch A ramificação do Git do repositório que está sendo buscado.
status.sync.gitStatus.dir O caminho absoluto no repositório Git para o diretório raiz que contém a configuração com que você está sincronizando.
status.sync.ociStatus.image O URL da imagem OCI que está sendo sincronizado.
status.sync.ociStatus.dir O caminho absoluto no repositório Git para o diretório raiz que contém a configuração com que você está sincronizando.
status.sync.helmStatus.repo O URL do repositório do helm está sendo sincronizado.
status.sync.helmStatus.version A versão do gráfico do capacete sendo sincronizada.
status.sync.helmStatus.chart O nome do gráfico do Helm que está sendo sincronizado.
status.sync.commit O hash da confirmação ou resumo mais recente que foi sincronizado com o cluster. Esse valor é atualizado mesmo quando uma confirmação ou resumo é sincronizado apenas parcialmente devido a um erro.
status.sync.errors Uma lista de todos os erros que ocorreram ao aplicar os recursos da alteração indicada por status.sync.commit.
status.conditions As últimas observações disponíveis do estado atual do RootSync.

1 Se você criou um arquivo de configuração RootSync após a instalação com o console do Google Cloud ou a CLI do Google Cloud, poderá substituir esse campo. Para conferir uma lista completa, consulte Campos editáveis.

Campos ResourceGroup

Campos de especificação e status

Chave Descrição
spec.resources A lista de identificadores (grupo, tipo, namespace, nome) para recursos aplicados ao cluster do repositório Git especificado em uma resposta automática RepoSync ou RootSync. Opcional.
Cada item da lista contém quatro campos: group, kind, namespace e name.

Campos de status

Chave Descrição
status.observedGeneration A geração (metadata.generation) da especificação de um recurso RootSync ou RepoSync que foi observado pela última vez e executado pelo controlador ResourceGroup. Esse valor pode ser comparado com metadata.generation, que é um número inteiro e atualizado na mutação de especificações pelo servidor da API.
status.conditions As condições observadas mais recentes do ResourceGroup atual. As condições têm dois tipos diferentes: Reconciling e Stalled. Quando a condição do tipo Reconciling é verdadeira, isso significa que o ResourceGroup atual está na reconciliação. Quando a condição do tipo Stalled é verdadeira, significa que a reconciliação está parada. Quando ambos são falsos, isso significa que o ResourceGroup atual é reconciliado e o status está atualizado.
status.resourceStatuses A lista de status dos recursos incluídos em ".spec.resources". Cada item contém o identificador (grupo, tipo, namespace ou nome) e o status de um recurso. O status é um dos seguintes: InProgress, Current, Failed, Terminating, NotFound ou Unknown.

Campos de sincronização raiz gerenciados e não gerenciados

Há duas maneiras de instalar o Config Sync:

Para a maioria das instalações, o Config Sync é gerenciado pelo serviço Hub, com base nas entradas da API Google Cloud, especificamente na seção spec.configSync da API apply-management apply do Google Analytics.

Para o GKE Enterprise no VMware, o Config Sync é gerenciado pelo usuário, com o kubectl ou qualquer outro cliente do Kubernetes.

Se a instalação do Config Sync for gerenciada pelo serviço Hub, o RootSync inicial também poderá ser gerenciado pelo serviço Hub. Isso permite inicializar o GitOps no cluster usando a API apply de gerenciamento de configuração e o cliente do Google Cloud de sua preferência, como Console do Google Cloud, CLI do Google Cloud, Config Connector, Terraform e assim por diante. Essa RootSync gerenciada inicial será chamada de root-sync.

Esse root-sync será criado com base nas suas entradas para a API do Google Cloud, especificamente a configuração de especificação de aplicação do Config Sync. Como essa API expõe apenas um subconjunto dos campos RootSync, esses campos são considerados gerenciados em root-sync, enquanto os outros campos são considerados não gerenciados. Os campos gerenciados só podem ser editados usando a API Google Cloud. Os campos não gerenciados podem ser editados usando o kubectl ou qualquer outro cliente do Kubernetes.

Por exemplo, consulte Criar e editar um arquivo de configuração RootSync para saber como exportar o YAML root-sync, editá-lo localmente e aplicá-lo novamente.

Para criar mais RootSyncs ou RepoSyncs, use o kubectl ou outro cliente do Kubernetes. Também é possível usar o root-sync inicial para gerenciar RootSyncs e RepoSyncs adicionais com o GitOps, adicionando os manifestos YAML à fonte da verdade de que o root-sync está configurado para sincronizar. Esse método não pode ser usado para gerenciar a configuração do root-sync inicial, porque alguns dos campos dele são gerenciados pelo serviço Hub. Para gerenciar o root-sync com o GitOps, use o Config Connector ou o Terraform.

Os campos a seguir do RootSync chamado root-sync não são gerenciados pelo serviço do Hub e podem ser editados com qualquer cliente do Kubernetes:

Chave Descrição
spec.git.noSSLVerify noSSLVerify especifica se a verificação do certificado SSL será ativada ou desativada. Padrão: false.
Se noSSLVerify for definido como true, vai instruir o Git a pular a verificação do certificado SSL.
spec.git.caCertSecretRef.name O nome do secret que contém o certificado da autoridade de certificação (CA). Se este campo for preenchido, o servidor Git precisará usar um certificado emitido por essa CA. O certificado de CA precisa ser armazenado no secret em uma chave chamada "cert".
spec.override.resources A lista de solicitações de recursos do contêiner e substituições de limite. Opcional.
Cada item da lista contém três campos:
  • containerName: esse campo pode ser git-sync, oci-sync, hydration-controller ou reconciler.
  • cpuRequest (opcional)
  • cpuLimit (opcional)
  • memoryRequest (opcional)
  • memoryLimit (opcional)

Quando um valor de substituição para um limite ou uma solicitação de recurso não é fornecido, o valor padrão do recurso para o limite ou a solicitação é usado.
spec.override.gitSyncDepth gitSyncDepth permite substituir o número de confirmações do Git a serem buscadas.
Precisa ser menor que 0.
O Config Sync fará um clone completo se esse campo for 0 e um clone superficial se ele for maior que 0.
Se esse campo não for fornecido, o Config Sync o configurará automaticamente.
spec.override.statusMode statusMode permite ativar ou desativar a captura do status no nível do recurso.
O padrão é enabled.
Para desativar a captura do status no nível do recurso, defina esse campo como disabled.
spec.override.reconcileTimeout reconcileTimeout permite substituir o limite de tempo para aguardar que os recursos em um grupo de aplicação sejam reconciliados antes de desistir. Todos os recursos em uma confirmação podem estar em vários grupos de aplicação com base nas dependências.
O tempo limite padrão é 5m.
Use strings para especificar o valor deste campo, por exemplo, 30s e 5m.
spec.override.enableShellInRendering enableShellInRendering especifica se o acesso ao shell será ativado ou desativado no processo de renderização. As bases remotas do Kustomize precisam de acesso ao shell. Definir esse campo como true permite o acesso ao shell no processo de renderização e permite extrair bases remotas de repositórios públicos.
O padrão é false.

Exemplos de respostas automáticas

As seções a seguir mostram exemplos de respostas automáticas de RootSync e RepoSync.

Resposta automática do RootSync

O exemplo a seguir mostra um objeto RootSync.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Resposta automática do RepoSync

O exemplo a seguir mostra um objeto RepoSync.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

A seguir