2.6. Argo CD에서 주석 기반 리소스 추적 활성화


Red Hat OpenShift GitOps Operator는 Argo CD에서 주석 기반 리소스 추적을 개선하여 다중 인스턴스 지원을 향상시킵니다. 이전 버전에서는 여러 Argo CD 인스턴스가 기존 레이블 기반 추적에만 의존하여 동일한 애플리케이션 이름으로 리소스를 적절하게 구별하지 않았습니다. 이번 개선된 기능을 통해 각 인스턴스에 고유한 설치 ID 를 할당하여 주석 기반 추적을 완전히 활용할 수 있습니다. 이렇게 하면 리소스 충돌을 방지하고 무한 동기화 루프를 제거하고 안전하게 병렬 작업을 수행할 수 있습니다.

OpenShift Container Platform 웹 콘솔을 사용하여 다음 작업을 수행할 수 있습니다.

  • 여러 Argo CD 인스턴스 설정
  • 네임스페이스와 연결하여 주석 기반 추적 구성
  • 배포 확인
참고
  • 리소스 추적 충돌을 방지하려면 각 Argo CD 인스턴스에 고유한 installationID ID가 있어야 합니다.
  • 각 Argo CD 인스턴스에서 의도한 리소스만 관리할 수 있으므로 네임스페이스의 레이블이 정확하게 지정되었는지 확인합니다.
  • 여러 인스턴스에 이름이 같은 애플리케이션이 있는 경우 리소스 추적을 annotations +label 로 설정합니다.
  • 문제가 발생하면 Argo CD 애플리케이션 상태를 확인하고 OpenShift Container Platform 웹 콘솔의 로그를 확인하십시오.

2.6.1. 여러 Argo CD 인스턴스에서 주석 기반 추적 구성

여러 Argo CD 인스턴스에서 주석 기반 추적을 구성할 수 있습니다.

참고

이 절차에서는 다음 예제 값을 사용합니다.

  • repoURL: https://github.com/redhat-developer/gitops-operator
  • server: https://kubernetes.default.svc

다음 단계를 수행할 때 예제 값을 실제 값으로 바꿉니다.

사전 요구 사항

  • 관리자로 OpenShift Container Platform 클러스터에 로그인했습니다.
  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. 웹 콘솔의 관리자 화면에서 Operator 설치된 Operator 를 클릭합니다.

    • 프로젝트 목록에서 사용자 정의 Argo CD 인스턴스를 설치할 프로젝트를 생성하거나 선택합니다.
  3. 설치된 Operator 목록에서 Red Hat OpenShift GitOps 를 선택하고 Argo CD 탭을 클릭합니다.
  4. Argo CD 인스턴스 두 개를 생성하려면 ArgoCD 생성 을 클릭하고 다음 예제와 유사한 두 개의 YAML 파일을 생성합니다.

    주석 레이블이 있는 첫 번째 Argo CD 인스턴스의 예

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: argocd-instance-demo-1 
    1
    
      namespace: argocd-test-demo-1 
    2
    
    spec:
      installationID: "instance-demo-1" 
    3
    
      resourceTrackingMethod: "annotation+label"
    Copy to Clipboard Toggle word wrap

    1
    첫 번째 Argo CD 인스턴스의 이름을 지정합니다.
    2
    첫 번째 Argo CD 인스턴스에 사용되는 네임스페이스를 지정합니다.
    3
    첫 번째 Argo CD 인스턴스에 대한 installationID 오브젝트의 이름을 지정합니다.

    주석 레이블이 있는 두 번째 Argo CD 인스턴스의 예

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: argocd-instance-demo-2 
    1
    
      namespace: argocd-test-demo-2 
    2
    
    spec:
      installationID: "instance-demo-2" 
    3
    
      resourceTrackingMethod: "annotation+label"
    Copy to Clipboard Toggle word wrap

    1
    두 번째 Argo CD 인스턴스의 이름을 지정합니다.
    2
    두 번째 Argo CD 인스턴스에 사용되는 네임스페이스를 지정합니다.
    3
    두 번째 Argo CD 인스턴스에 대한 installationID 오브젝트의 이름을 지정합니다.
  5. 네임스페이스를 Argo CD 인스턴스와 연결하도록 대상 네임스페이스를 구성하고 레이블을 지정합니다.

    1. 관리 네임스페이스로 이동합니다.
    2. 애플리케이션 배포, app-ns-1app-ns-2 를 위한 네임스페이스를 만듭니다.
    3. 각 네임스페이스를 각 Argo CD 인스턴스와 연결합니다.

      1. 다음 명령을 실행하여 app-ns-1 네임스페이스를 argocd-test-demo-1 Argo CD 인스턴스와 연결합니다.

        명령 예

        $ oc label namespace app-ns-1 argocd.argoproj.io/managed-by=argocd-test-demo-1
        Copy to Clipboard Toggle word wrap

      2. 다음 명령을 실행하여 app-ns-2 네임스페이스를 argocd-test-demo-2 Argo CD 인스턴스와 연결합니다.

        명령 예

        $ oc label namespace app-ns-2 argocd.argoproj.io/managed-by=argocd-test-demo-2
        Copy to Clipboard Toggle word wrap

  6. Argo CD에 두 개의 애플리케이션을 생성합니다.

    1. OpenShift Container Platform 웹 콘솔에서 Operator 설치된 Operator OpenShift GitOps Operator 로 이동합니다.
    2. Argo CD 를 선택하고 애플리케이션 탭으로 이동합니다.
    3. 애플리케이션 생성을 클릭합니다.
    4. 다음 YAML 스니펫을 입력하여 Argo CD에 두 개의 애플리케이션을 생성합니다.

      Argo CD를 사용하는 첫 번째 애플리케이션 예

      apiVersion: argoproj.io/v1alpha1
      kind: Application
      metadata:
        name: sprint-petclinic 
      1
      
        namespace: argocd-test-demo-1 
      2
      
      spec:
        project: default
        source:
          repoURL: https://github.com/redhat-developer/gitops-operator
          path: test/examples/nginx
          targetRevision: HEAD
        destination:
          server: https://kubernetes.default.svc
          namespace: app-ns-1
        syncPolicy:
          automated: {}
      Copy to Clipboard Toggle word wrap

      1
      첫 번째 애플리케이션의 이름을 지정합니다.
      2
      첫 번째 애플리케이션에 사용되는 네임스페이스를 지정합니다.

      Argo CD를 사용하는 두 번째 애플리케이션 예

      apiVersion: argoproj.io/v1alpha1
      kind: Application
      metadata:
        name: sprint-petclinic 
      1
      
        namespace: argocd-test-demo-2 
      2
      
      spec:
        project: default
        source:
          repoURL: https://github.com/redhat-developer/gitops-operator
          path: test/examples/nginx
          targetRevision: HEAD
        destination:
          server: https://kubernetes.default.svc
          namespace: app-ns-2
        syncPolicy:
          automated: {}
      Copy to Clipboard Toggle word wrap

      1
      첫 번째 애플리케이션과 동일한 이름으로 생성된 두 번째 애플리케이션의 이름을 지정합니다.
      2
      두 번째 애플리케이션에 사용되는 네임스페이스를 지정합니다.

검증

  1. OpenShift Container Platform 웹 콘솔에서 워크로드 Pod 로 이동합니다.
  2. Argo CD 인스턴스의 포드가 argocd-instance-demo-1argocd-instance-demo-2 가 실행 중인지 확인합니다.
  3. Argo CD Applications YAML 탭에서 애플리케이션 동기화 상태를 확인합니다.
  4. argocd-test-demo-1 및 argocd-test- demo-2 네임스페이스에서 argocd- cm 구성 맵으로 이동하여 installationID 오브젝트가 성공적으로 구성되었는지 확인합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat