Monitoraggio di oggetti RootSync e RepoSync

Questa pagina mostra diversi modi per monitorare gli oggetti RootSync e RepoSync.

Visualizza i log

Questa sezione spiega come visualizzare i log per gli oggetti RootSync e RepoSync. La visualizzazione dei log fornisce informazioni su potenziali errori.

  • Per visualizzare i log del riconciliatore RootSync, esegui il comando seguente:

    kubectl logs -n config-management-system deployment/root-reconciler CONTAINER_NAME
    

    Sostituisci CONTAINER_NAME con uno dei seguenti valori:

    • git-sync: il container git-sync estrae le configurazioni dal tuo repository Git a una directory locale in cui il container di riconciliazione può leggerle.

    • hydration-controller: il container hydration-controller esegue il rendering di eventuali configurazioni Helm o Kustomize di cui è stato eseguito il pull dal repository, quindi salva le configurazioni di cui è stato eseguito il rendering nel volume condiviso per l'elaborazione del contenitore reconciler.

    • otel-agent: il container otel-agent è un agente OpenTelemetry per il recupero e l'esportazione delle metriche Config Sync.

    • reconciler: il container reconciler applica le configurazioni al cluster.

  • Per visualizzare i log del riconciliatore RepoSync, esegui il comando seguente:

    kubectl logs -n config-management-system deployment/ns-reconciler-NAMESPACE CONTAINER_NAME
    

    Sostituisci quanto segue:

    • NAMESPACE: lo spazio dei nomi in cui hai creato il repository dello spazio dei nomi.
    • CONTAINER_NAME: git-sync, hydration-controller, otel-agent o reconciler.

Visualizza commit sincronizzati

Puoi verificare quale commit viene sincronizzato con il cluster.

  • Per visualizzare i commit sincronizzati per RootSync, esegui il comando seguente:

    kubectl get rootsync root-sync -n config-management-system
    
  • Per visualizzare i commit sincronizzati per RepoSync, esegui il comando seguente:

    kubectl get reposync repo-sync -n NAMESPACE
    

    Sostituisci NAMESPACE con lo spazio dei nomi in cui hai creato il repository dello spazio dei nomi.

L'output per questi comandi mostra il valore del commit di origine e del commit sincronizzato. Ad esempio, se hai eseguito il comando per il repository, vedresti un output simile al seguente:

NAME        RENDERINGCOMMIT                            SOURCECOMMIT                               SYNCCOMMIT
root-sync   66882815f0ef5517df27e864fb1315e97756ab72   66882815f0ef5517df27e864fb1315e97756ab72   66882815f0ef5517df27e864fb1315e97756ab72

Il valore nella colonna RENDERINGCOMMIT è il commit elaborato dalla hydration-controller. Se non è necessario alcun rendering, il valore è uguale alla colonna SOURCECOMMIT. Il valore nella colonna SOURCECOMMIT è il commit dal repository Git che deve essere sincronizzato con il cluster. Il valore nella colonna SYNCCOMMIT corrisponde al commit di cui è stato eseguito il deployment nel cluster. Se i due valori nelle colonne SOURCECOMMIT e SYNCCOMMIT sono uguali, il deployment del impegno previsto è stato eseguito nel cluster.

Visualizza i dettagli dell'oggetto

Per visualizzare i dettagli degli oggetti RootSync e RepoSync, utilizza kubectl describe. Questo comando può fornirti ulteriori informazioni su potenziali errori.

  • Per visualizzare i dettagli dell'oggetto RootSync, esegui il comando seguente:

    kubectl describe rootsync root-sync -n config-management-system
    
  • Per visualizzare i dettagli dell'oggetto RepoSync, esegui il comando seguente:

    kubectl describe reposync repo-sync -n NAMESPACE
    

    Sostituisci NAMESPACE con lo spazio dei nomi in cui hai creato il repository dello spazio dei nomi.

Visualizzare se una risorsa è pronta

Per sapere se le risorse sincronizzate con il cluster sono pronte, visualizza lo stato di riconciliazione. Ad esempio, la visualizzazione dello stato di riconciliazione può mostrare se un Deployment sincronizzato è pronto per gestire il traffico.

Per un repository Git sincronizzato con il cluster, gli stati di riconciliazione di tutte le risorse vengono aggregati in una risorsa denominata ResourceGroup. Per ogni oggetto RootSync o RepoSync, viene generato un ResourceGroup per acquisire il set di risorse applicato al cluster e aggregare i relativi stati.

  • Per visualizzare lo stato della riconciliazione per l'oggetto RootSync, esegui il comando seguente:

    kubectl get resourcegroup.kpt.dev root-sync -n config-management-system -o yaml
    
  • Per visualizzare lo stato di riconciliazione dell'oggetto RepoSync, esegui il comando seguente:

    kubectl get resourcegroup.kpt.dev repo-sync -n NAMESPACE -o yaml
    

    Sostituisci NAMESPACE con lo spazio dei nomi in cui hai creato il repository dello spazio dei nomi.

Nell'output vengono visualizzati tutti gli stati delle risorse ResourceGroup. Ad esempio, l'output seguente mostra che il deployment denominato nginx-deployment è pronto:

resourceStatuses:
- group: apps
  kind: Deployment
  name: nginx-deployment
  namespace: default
  status: Current

Passaggi successivi