Monitorar objetos RootSync e RepoSync
Esta página mostra maneiras diferentes de monitorar seus objetos RootSync e RepoSync. Por exemplo, talvez você queira verificar se a confirmação mais recente em uma fonte da verdade está aplicada a um cluster e reconciliada.
Ver registros
Esta seção explica como visualizar os registros para os objetos RootSync e RepoSync. A visualização dos registros fornece informações sobre possíveis erros.
Para ver os registros do reconciliador de RootSync ou RepoSync, execute o seguinte comando:
kubectl logs -n config-management-system deployment/RECONCILER_NAME CONTAINER_NAME
Substitua:
RECONCILER_NAME
: o nome do reconciliação do objeto RootSync ou RepoSync.Para
RootSync
, o nome da reconciliação vai serroot-reconciler-ROOT_SYNC_NAME
ouroot-reconciler
, se o nome de RootSync forroot-sync
.Para
RepoSync
, o nome do reconciliador seráns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH
ouns-reconciler-NAMESPACE
se o nome do RepoSync forrepo-sync
, em queNAMESPACE
é o namespace. em que você criou o objeto do RepoSync.
CONTAINER_NAME
: o nome do contêiner.git-sync
: o contêinergit-sync
extrai configurações do seu repositório Git para um diretório local em que o contêiner de reconciliação pode lê-los.oci-sync
: o contêineroci-sync
extrai as configurações da sua imagem OCI para um diretório local que o contêiner de reconciliação pode ler.helm-sync
: o contêinerhelm-sync
extrai configurações do seu gráfico do Helm para um diretório local que o contêiner de reconciliação pode ler.hydration-controller
: o contêinerhydration-controller
renderiza todas as configurações Helm ou Kustomize extraídas do seu repositório e, em seguida, salva as configurações renderizadas no volume compartilhado do contêinerreconciler
para processamento posterior.reconciler
: o contêinerreconciler
aplica essas configurações ao cluster.otel-agent
: o contêinerotel-agent
é um agente do OpenTelemetry para recuperar e exportar métricas do Config Sync.
Ver confirmações sincronizadas
Para verificar qual confirmação está sincronizada com o cluster, confira o
campo .status.sync
no objeto RootSync ou RepoSync.
Para ver as confirmações sincronizadas de um objeto RootSync, execute o seguinte comando:
kubectl get rootsync ROOT_SYNC_NAME -n config-management-system
Substitua o
ROOT_SYNC_NAME
pelo nome do objeto RootSync.Para ver as confirmações sincronizadas de um objeto RepoSync, execute o seguinte comando:
kubectl get reposync REPO_SYNC_NAME -n REPO_SYNC_NAMESPACE
Substitua:
REPO_SYNC_NAME
: o nome do objeto do RepoSync.REPO_SYNC_NAMESPACE
: o namespace em que você criou seu repositório de namespace.
A saída desses comandos mostra o valor da confirmação de origem e da confirmação sincronizada. Por exemplo, se você executar o comando para o RepoSync, verá uma saída semelhante a esta:
NAME RENDERINGCOMMIT SOURCECOMMIT SYNCCOMMIT
root-sync 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72
O valor na coluna RENDERINGCOMMIT
é a confirmação processada pelo
hydration-controller
. Se nenhuma renderização for necessária, o valor será igual ao da coluna SOURCECOMMIT
. O valor na coluna SOURCECOMMIT
é a confirmação da fonte de verdade que precisa ser sincronizada com o cluster. O valor na coluna SYNCCOMMIT
é a confirmação implantada no cluster. Se os dois valores nas colunas SOURCECOMMIT
e SYNCCOMMIT
forem os mesmos, a confirmação esperada foi implantada no cluster.
Confirmar se os recursos na confirmação foram reconciliados
Para cada objeto RootSync ou RepoSync, há um objeto ResourceGroup exclusivo
que captura o status de reconciliação dos recursos gerenciados declarados
na fonte de verdade. O objeto ResourceGroup tem o mesmo namespace
e nome do objeto RootSync ou RepoSync. Por exemplo, para o objeto RootSync
com o nome root-sync
no namespace config-management-system
,
o objeto ResourceGroup correspondente também é root-sync
no namespace
config-management-system
. Quando a confirmação mais recente é aplicada com sucesso,
o objeto ResourceGroup contém o grupo, o tipo, o namespace e o nome dos
recursos gerenciados da confirmação mais recente.
Execute o seguinte comando para receber um objeto ResourceGroup.
Para conseguir o objeto ResourceGroup para um objeto RootSync:
kubectl get resourcegroup ROOT_SYNC_NAME -n config-management-system -o yaml
Para conseguir o objeto ResourceGroup para um objeto RepoSync:
kubectl get resourcegroup REPO_SYNC_NAME -n REPO_SYNC_NAMESPACE -o yaml
Substitua:
ROOT_SYNC_NAME
: o nome do objeto ResourceGroup que você quer pesquisar.REPO_SYNC_NAME
: o nome do objeto ResourceGroup que você quer pesquisar.REPO_SYNC_NAMESPACE
: o nome do objeto ResourceGroup que você quer pesquisar.
Para confirmar se os recursos na confirmação foram reconciliados, procure o seguinte na saída:
- O
.status.observedGeneration
é igual ao valor do campo.metadata.generation
no objeto ResourceGroup. - As condições
Stalled
eReconciling
têmstatus
como"False"
. - Cada item no campo
.status.resourceStatuses
tem o statusCurrent
.
Ver erros
Os objetos RootSync e RepoSync usam o campo status
para rastrear erros encontrados
ao sincronizar as configurações da fonte de verdade com um cluster.
Para acessar o status de um objeto RootSync, execute o seguinte comando:
kubectl get rootsync ROOT_SYNC_NAME -n config-management-system -o yaml
Substitua o
ROOT_SYNC_NAME
pelo nome do objeto RootSync.Para acessar o status de um objeto RepoSync, execute o seguinte comando:
kubectl get reposync REPO_SYNC_NAME -n NAMESPACE -o yaml
Substitua:
REPO_SYNC_NAME
: o nome do objeto do RepoSync.NAMESPACE
: o namespace em que você criou seu repositório de namespace.
A tabela a seguir explica os subcampos no campo status
:
Campo | Descrição |
---|---|
status.rendering.errors | Os erros encontrados durante o processo de renderização de configurações do kustomize da fonte de verdade. Isso pode não incluir todos os erros encontrados, já que o Config Sync trunca os erros se houver muitos erros. |
status.rendering.errorSummary.totalCount | Um número inteiro que rastreia o número total de erros encontrados durante o processo de renderização das configurações da fonte de verdade. |
status.rendering.errorSummary.truncated | Um booleano
que indica se o campo status.rendering.errors inclui
todos os erros encontrados durante o processo de renderização das configurações da
fonte da verdade. |
status.rendering.errorSummary.errorCountAfterTruncation |
Um número inteiro que rastreia o número de erros no
campo status.rendering.errors . |
status.source.errors | Os erros encontrados ao ler e analisar as configurações da fonte de verdade. Isso pode não incluir todos os erros encontrados, já que o Config Sync trunca erros se houver muitos erros. |
status.source.errorSummary.totalCount | Um número inteiro que rastreia o número total de erros encontrados ao ler e analisar as configurações da fonte da verdade. |
status.source.errorSummary.truncated | Um booleano
que indica se o campo status.source.errors inclui todos
os erros encontrados ao ler e analisar as configurações da fonte
da verdade. |
status.source.errorSummary.errorCountAfterTruncation |
Um número inteiro que rastreia o número de erros no
campo status.source.errors . |
status.sync.errors | Os erros encontrados ao aplicar as configurações da fonte da verdade. Isso pode não incluir todos os erros encontrados, já que o Config Sync trunca os erros se houver muitos erros. |
status.sync.errorSummary.totalCount | Um número inteiro que rastreia o número total de erros encontrados ao aplicar as configurações da fonte da verdade. |
status.sync.errorSummary.truncated | Um booleano
que indica se o campo status.sync.errors inclui todos
os erros encontrados ao aplicar as configurações da fonte da
verdade. |
status.sync.errorSummary.errorCountAfterTruncation |
Um número inteiro que rastreia o número de erros no
campo status.sync.errors . |
status.conditions |
Uma lista de condições que rastreiam o estado atual de um objeto RootSync ou
RepoSync. Quando o campo type de uma condição for Reconciling
ou Stalled :
Syncing :
|
Ver detalhes do objeto
Para visualizar detalhes dos objetos RootSync e RepoSync, use kubectl describe
.
Esse comando pode fornecer mais informações sobre possíveis erros.
Para visualizar os detalhes do objeto RootSync, execute o seguinte comando:
kubectl describe rootsync ROOT_SYNC_NAME -n config-management-system
Substitua o
ROOT_SYNC_NAME
pelo nome do objeto RootSync.Para ver os detalhes do objeto do RepoSync, execute o seguinte comando:
kubectl describe reposync REPO_SYNC_NAME -n NAMESPACE
Substitua:
REPO_SYNC_NAME
: o nome do objeto do RepoSync.NAMESPACE
: o namespace em que você criou seu repositório de namespace.
Ver se um recurso está pronto
Para saber se os recursos sincronizados com o cluster estão prontos, visualize o status da reconciliação. Por exemplo, a visualização do status de reconciliação pode mostrar se uma implantação sincronizada está pronta para veicular o tráfego.
Para uma fonte de verdade sincronizada para o cluster, os status de reconciliação de todos os recursos são agregados em um recurso chamado ResourceGroup. Para cada objeto RootSync ou RepoSync, um ResourceGroup é gerado para capturar o conjunto de recursos aplicados ao cluster e agregar os status deles.
Para visualizar o status de reconciliação do objeto RootSync, execute o seguinte comando:
kubectl get resourcegroup.kpt.dev ROOT_SYNC_NAME -n config-management-system -o yaml
Substitua o
ROOT_SYNC_NAME
pelo nome do objeto RootSync.Para ver o status de reconciliação do objeto do RepoSync, execute o seguinte comando:
kubectl get resourcegroup.kpt.dev REPO_SYNC_NAME -n NAMESPACE -o yaml
Substitua:
REPO_SYNC_NAME
: o nome do objeto do RepoSync.NAMESPACE
: o namespace em que você criou seu repositório de namespace.
Na saída, você verá todos os status de recursos de ResourceGroup. Por exemplo, a saída a seguir mostra que uma implantação chamada nginx-deployment
está pronta:
resourceStatuses:
- group: apps
kind: Deployment
name: nginx-deployment
namespace: default
status: Current