2.8. ArgoCD를 사용하여 허브 클러스터 구성


GitOps Zero Touch Provisioning(ZTP)을 사용하여 각 사이트에 필요한 설치 및 정책 사용자 정의 리소스(CR)를 생성하는 ArgoCD 애플리케이션 세트로 허브 클러스터를 구성할 수 있습니다.

참고

Red Hat Advanced Cluster Management(RHACM)는 SiteConfig CR을 사용하여 ArgoCD에 대한 Day 1 관리형 클러스터 설치 CR을 생성합니다. 각 ArgoCD 애플리케이션은 최대 300개의 SiteConfig CR을 관리할 수 있습니다.

사전 요구 사항

  • Red Hat Advanced Cluster Management(RHACM)와 Red Hat OpenShift GitOps가 설치된 OpenShift Container Platform 허브 클러스터가 있습니다.
  • "GitOps ZTP 사이트 구성 저장소 준비" 섹션에 설명된 대로 GitOps ZTP 플러그인 컨테이너에서 참조 배포를 추출했습니다. 참조 배포를 추출하면 다음 절차에서 참조되는 out/argocd/deployment 디렉터리가 생성됩니다.

프로세스

  1. ArgoCD 파이프라인 구성을 준비하세요.

    1. 예제 디렉토리와 비슷한 디렉토리 구조로 Git 저장소를 만듭니다. 자세한 내용은 "GitOps ZTP 사이트 구성 저장소 준비"를 참조하세요.
    2. ArgoCD UI를 사용하여 저장소에 대한 액세스를 구성합니다. 설정 에서 다음을 구성하세요.

      • 저장소 - 연결 정보를 추가합니다. URL은 .git 로 끝나야 합니다(예: https://repo.example.com/repo.git 및 자격 증명).
      • 인증서 - 필요한 경우 저장소에 대한 공개 인증서를 추가합니다.
    3. Git 저장소에 따라 두 개의 ArgoCD 애플리케이션( out/argocd/deployment/clusters-app.yamlout/argocd/deployment/policies-app.yaml)을 수정합니다.

      • URL을 업데이트하여 Git 저장소를 가리키도록 합니다. URL은 .git 로 끝납니다(예: https://repo.example.com/repo.git ).
      • targetRevision은 모니터링할 Git 저장소 브랜치를 나타냅니다.
      • path는 각각 SiteConfigPolicyGenerator 또는 PolicyGentemplate CR에 대한 경로를 지정합니다.
  1. GitOps ZTP 플러그인을 설치하려면 허브 클러스터의 ArgoCD 인스턴스에 관련 멀티클러스터 엔진(MCE) 구독 이미지를 패치합니다. 이전에 out/argocd/deployment/ 디렉토리에 압축 해제한 패치 파일을 사용자 환경에 맞게 사용자 정의합니다.

    1. RHACM 버전과 일치하는 multicluster-operators-subscription 이미지를 선택하세요.

      • RHACM 2.8 및 2.9의 경우 registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel8:v<rhacm_version> 이미지를 사용하세요.
      • RHACM 2.10 이상의 경우 registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel9:v<rhacm_version> 이미지를 사용하세요.
      중요

      multicluster-operators-subscription 이미지의 버전은 RHACM 버전과 일치해야 합니다. MCE 2.10 릴리스부터 RHEL 9가 multicluster-operators-subscription 이미지의 기본 이미지가 되었습니다.

      OpenShift Operator 라이프 사이클의 "Platform Aligned Operators" 표에서 [Expand for Operator list] 를 클릭하여 OpenShift Container Platform에 대해 지원되는 전체 Operator 매트릭스를 확인합니다.

    2. RHACM 버전과 일치하는 multicluster-operators-subscription 이미지로 out/argocd/deployment/argocd-openshift-gitops-patch.json 파일을 수정합니다.

      {
        "args": [
          "-c",
          "mkdir -p /.config/kustomize/plugin/policy.open-cluster-management.io/v1/policygenerator && cp /policy-generator/PolicyGenerator-not-fips-compliant /.config/kustomize/plugin/policy.open-cluster-management.io/v1/policygenerator/PolicyGenerator" 
      1
      
        ],
        "command": [
          "/bin/bash"
        ],
        "image": "registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel9:v2.10", 
      2
       
      3
      
        "name": "policy-generator-install",
        "imagePullPolicy": "Always",
        "volumeMounts": [
          {
            "mountPath": "/.config",
            "name": "kustomize"
          }
        ]
      }
      Copy to Clipboard Toggle word wrap
      1
      선택 사항: RHEL 9 이미지의 경우 ArgoCD 버전에 필요한 범용 실행 파일 을 /policy-generator/PolicyGenerator-not-fips-compliant 폴더에 복사합니다.
      2
      multicluster-operators-subscription 이미지를 RHACM 버전과 일치시킵니다.
      3
      연결이 끊긴 환경에서 multicluster-operators-subscription 이미지의 URL을 해당 환경의 연결이 끊긴 레지스트리와 동일하게 바꾸세요.
    3. ArgoCD 인스턴스에 패치를 적용합니다. 다음 명령을 실행합니다.

      $ oc patch argocd openshift-gitops \
      -n openshift-gitops --type=merge \
      --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.json
      Copy to Clipboard Toggle word wrap
  2. RHACM 2.7 이상에서는 멀티클러스터 엔진이 기본적으로 클러스터-프록시-애드온 기능을 활성화합니다. 다음 패치를 적용하여 클러스터-프록시-애드온 기능을 비활성화하고 이 애드온을 담당하는 관련 허브 클러스터와 관리형 포드를 제거합니다. 다음 명령을 실행합니다.

    $ oc patch multiclusterengines.multicluster.openshift.io multiclusterengine --type=merge --patch-file out/argocd/deployment/disable-cluster-proxy-addon.json
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 허브 클러스터에 파이프라인 구성을 적용합니다.

    $ oc apply -k out/argocd/deployment
    Copy to Clipboard Toggle word wrap
  4. 선택 사항: 기존 ArgoCD 애플리케이션이 있는 경우 다음 명령을 실행하여 PrunePropagationPolicy=background 정책이 애플리케이션 리소스에 설정되어 있는지 확인합니다.

    $ oc -n openshift-gitops get applications.argoproj.io  \
    clusters -o jsonpath='{.spec.syncPolicy.syncOptions}' |jq
    Copy to Clipboard Toggle word wrap

    기존 정책에 대한 예시 출력

    [
      "CreateNamespace=true",
      "PrunePropagationPolicy=background",
      "RespectIgnoreDifferences=true"
    ]
    Copy to Clipboard Toggle word wrap

    1. spec.syncPolicy.syncOption 필드에 PrunePropagationPolicy 매개변수가 포함되어 있지 않거나 PrunePropagationPolicy가 포그라운드 값으로 설정된 경우 애플리케이션 리소스에서 정책을 백그라운드 로 설정합니다. 다음 예제를 참조하십시오.

      kind: Application
      spec:
        syncPolicy:
          syncOptions:
          - PrunePropagationPolicy=background
      Copy to Clipboard Toggle word wrap

    백그라운드 삭제 정책을 설정하면 ManagedCluster CR과 연관된 모든 리소스가 삭제됩니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat