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


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

참고

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

사전 요구 사항

  • RHACM(Red Hat Advanced Cluster Management) 및 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 및 인증 정보).
      • certificates - 필요한 경우 리포지토리의 공용 인증서를 추가합니다.
    3. Git 저장소에 따라 두 개의 ArgoCD 애플리케이션( out/argocd/deployment/clusters-app.yamlout/argocd/deployment/policies-app.yaml)을 수정합니다.

      • Git 리포지토리를 가리키도록 URL을 업데이트합니다. URL은 .git 로 끝납니다(예: https://repo.example.com/repo.git ).
      • targetRevision 은 모니터링할 Git 리포지토리 분기를 나타냅니다.
      • path 는 각각 SiteConfigPolicyGenerator 또는 PolicyGentemplate CR의 경로를 지정합니다.
  1. GitOps ZTP 플러그인을 설치하려면 허브 클러스터의 ArgoCD 인스턴스를 관련 MCCE(Multicluster engine) 서브스크립션 이미지로 패치합니다. 이전에 추출한 패치 파일을 사용자 환경의 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 이상에서는 다중 클러스터 엔진에서 기본적으로 cluster-proxy-addon 기능을 활성화합니다. 다음 패치를 적용하여 cluster-proxy-addon 기능을 비활성화하고 이 애드온을 담당하는 관련 허브 클러스터 및 관리 Pod를 제거합니다. 다음 명령을 실행합니다.

    $ 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= backECDSA 정책이 애플리케이션 리소스에 설정되어 있는지 확인합니다.

    $ 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