Menu Close

18.17. GitOps ZTP 문제 해결

앞에서 설명했듯이 ArgoCD 파이프라인은 Git 리포지토리의 SiteConfigPolicyGenTemplate 사용자 정의 리소스(CR)를 허브 클러스터로 동기화합니다. 이 프로세스 중에 동기화 후 후크는 hub 클러스터에도 적용되는 설치 및 정책 CR을 생성합니다. 다음 절차에 따라 이 프로세스에서 발생할 수 있는 문제를 해결합니다.

18.17.1. 설치 CR 생성 검증

site Config는 사이트 이름과 일치하는 이름을 가진 네임스페이스의 hub 클러스터에 설치 CR(사용자 정의 리소스)을 적용합니다. 상태를 확인하려면 다음 명령을 입력합니다.

$ oc get AgentClusterInstall -n <clusterName>

오브젝트가 반환되지 않으면 다음 절차를 사용하여 SiteConfig 에서 설치 CR로 ArgoCD 파이프라인 흐름의 문제를 해결합니다.

절차

  1. 다음 명령 중 하나를 사용하여 SiteConfig 와 hub 클러스터의 동기화를 확인합니다.

    $ oc get siteconfig -A

    또는

    $ oc get siteconfig -n clusters-sub

    SiteConfig 가 누락된 경우 다음 상황 중 하나가 발생했습니다.

    • 클러스터 애플리케이션이 Git 리포지토리의 CR을 허브에 동기화하지 못했습니다. 다음 명령을 사용하여 다음을 확인합니다.

      $ oc describe -n openshift-gitops application clusters

      Status: Synced (상태: 동기화)를 확인하고 Revision: 이 서브스크립션된 리포지토리로 내보낸 커밋의 SHA인지 확인합니다.

    • 컨테이너 이미지를 가져오지 못했으므로 사전 동기화 후크가 실패했습니다. 클러스터 애플리케이션에서 사전 동기화 작업의 상태가 ArgoCD 대시보드를 확인합니다.
  2. 사후 후크 작업이 실행되었는지 확인합니다.

    $ oc describe job -n clusters-sub siteconfig-post
    • 성공하면 반환된 출력이 성공한 것으로 표시됩니다. 1.
    • 작업이 실패하면 ArgoCD에서 다시 시도합니다. 경우에 따라 첫 번째 통과가 실패하고 두 번째 통과는 작업이 통과되었음을 나타냅니다.
  3. 사후 후크 작업에 오류가 있는지 확인합니다.

    $ oc get pod -n clusters-sub

    siteconfig-post-xxxxx 포드의 이름을 확인합니다.

    $ oc logs -n clusters-sub siteconfig-post-xxxxx

    로그에 오류가 표시되면 조건을 수정하고 수정된 SiteConfig 또는 PolicyGenTemplate 을 Git 리포지토리로 내보냅니다.