RootSync 및 RepoSync 객체 모니터링

이 페이지에서는 RootSync 및 RepoSync 객체를 모니터링할 수 있는 다양한 방법을 보여줍니다.

로그 보기

이 섹션에서는 RootSync 및 RepoSync 객체의 로그를 보는 방법을 설명합니다. 로그를 보면 잠재적 오류에 대한 정보를 확인할 수 있습니다.

  • RootSync 조정자에 대한 로그를 보려면 다음 명령어를 실행합니다.

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

    CONTAINER_NAME를 다음 값 중 하나로 바꿉니다.

    • git-sync: git-sync 컨테이너는 Git 저장소의 구성을 조정자 컨테이너가 읽을 수 있는 로컬 디렉터리로 가져옵니다.

    • hydration-controller: hydration-controller 컨테이너는 저장소에서 가져온 Helm 또는 Kustomize 구성을 렌더링한 후 렌더링된 구성을 향후 프로세스를 위해 reconciler 컨테이너의 공유 볼륨에 저장합니다.

    • otel-agent: otel-agent 컨테이너는 구성 동기화 측정항목을 검색하고 내보낼 수 있는 OpenTelemetry 에이전트입니다.

    • reconciler: reconciler 컨테이너는 구성을 클러스터에 적용합니다.

  • RepoSync 조정자의 로그를 보려면 다음 명령어를 실행합니다.

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

    다음을 바꿉니다.

    • NAMESPACE: 네임스페이스 저장소를 만든 네임스페이스입니다.
    • CONTAINER_NAME: git-sync, hydration-controller, otel-agent 또는 reconciler 중 하나입니다.

동기화된 커밋 보기

클러스터에 동기화되는 커밋을 확인할 수 있습니다.

  • RootSync의 동기화된 커밋을 보려면 다음 명령어를 실행합니다.

    kubectl get rootsync root-sync -n config-management-system
    
  • RepoSync의 동기화된 커밋을 보려면 다음 명령어를 실행합니다.

    kubectl get reposync repo-sync -n NAMESPACE
    

    NAMESPACE를 네임스페이스 저장소를 만든 네임스페이스로 바꿉니다.

이러한 명령어의 출력에는 소스 커밋 값과 동기화된 커밋이 표시됩니다. 예를 들어 RepoSync의 명령어를 실행했으면 다음과 비슷한 출력이 표시됩니다.

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

RENDERINGCOMMIT 열의 값은 hydration-controller에서 처리되는 커밋입니다. 렌더링이 필요하지 않으면 값은 SOURCECOMMIT 열과 동일합니다. SOURCECOMMIT 열의 값은 클러스터에 동기화해야 하는 Git 저장소에서의 커밋입니다. SYNCCOMMIT 열의 값은 클러스터에 배포된 커밋입니다. SOURCECOMMITSYNCCOMMIT 열의 두 값이 동일하면 예상된 커밋이 클러스터에 배포된 것입니다.

객체 세부정보 보기

RootSync 및 RepoSync 객체의 세부정보를 보려면 kubectl describe를 사용합니다. 이 명령어는 잠재적인 오류에 대한 추가 정보를 제공할 수 있습니다.

  • RootSync 객체에 대한 세부정보를 보려면 다음 명령어를 실행합니다.

    kubectl describe rootsync root-sync -n config-management-system
    
  • RepoSync 객체의 세부정보를 보려면 다음 명령어를 실행합니다.

    kubectl describe reposync repo-sync -n NAMESPACE
    

    NAMESPACE를 네임스페이스 저장소를 만든 네임스페이스로 바꿉니다.

리소스가 준비되었는지 확인

클러스터에 동기화된 리소스가 준비되었는지 확인하려면 조정 상태를 확인합니다. 예를 들어 조정 상태를 보면 동기화된 배포가 트래픽을 처리할 준비가 되었는지 확인할 수 있습니다.

클러스터에 동기화된 Git 저장소의 경우 모든 리소스의 조정 상태가 ResourceGroup이라는 리소스에 집계됩니다. 각 RootSync 또는 RepoSync 객체에 대해 클러스터에 적용된 리소스 집합을 캡처하고 해당 상태를 수집하기 위해 ResourceGroup이 생성됩니다.

  • RootSync 객체의 조정 상태를 보려면 다음 명령어를 실행합니다.

    kubectl get resourcegroup.kpt.dev root-sync -n config-management-system -o yaml
    
  • RepoSync 객체의 조정 상태를 보려면 다음 명령어를 실행합니다.

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

    NAMESPACE를 네임스페이스 저장소를 만든 네임스페이스로 바꿉니다.

출력에서 모든 ResourceGroup 리소스 상태를 확인합니다. 예를 들어 다음 출력은 nginx-deployment라는 배포가 준비되었음을 보여줍니다.

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

다음 단계