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
디렉터리가 생성됩니다.
프로세스
ArgoCD 파이프라인 구성을 준비하세요.
- 예제 디렉토리와 비슷한 디렉토리 구조로 Git 저장소를 만듭니다. 자세한 내용은 "GitOps ZTP 사이트 구성 저장소 준비"를 참조하세요.
ArgoCD UI를 사용하여 저장소에 대한 액세스를 구성합니다. 설정 에서 다음을 구성하세요.
-
저장소 - 연결 정보를 추가합니다. URL은
.git
로 끝나야 합니다(예:https://repo.example.com/repo.git
및 자격 증명). - 인증서 - 필요한 경우 저장소에 대한 공개 인증서를 추가합니다.
-
저장소 - 연결 정보를 추가합니다. URL은
Git 저장소에 따라 두 개의 ArgoCD 애플리케이션(
out/argocd/deployment/clusters-app.yaml
및out/argocd/deployment/policies-app.yaml)을
수정합니다.-
URL을 업데이트하여 Git 저장소를 가리키도록 합니다. URL은
.git
로 끝납니다(예:https://repo.example.com/repo.git
). -
targetRevision은
모니터링할 Git 저장소 브랜치를 나타냅니다. -
path는
각각SiteConfig
및PolicyGenerator
또는PolicyGentemplate
CR에 대한 경로를 지정합니다.
-
URL을 업데이트하여 Git 저장소를 가리키도록 합니다. URL은
GitOps ZTP 플러그인을 설치하려면 허브 클러스터의 ArgoCD 인스턴스에 관련 멀티클러스터 엔진(MCE) 구독 이미지를 패치합니다. 이전에
out/argocd/deployment/
디렉토리에 압축 해제한 패치 파일을 사용자 환경에 맞게 사용자 정의합니다.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 매트릭스를 확인합니다.-
RHACM 2.8 및 2.9의 경우
RHACM 버전과 일치하는
multicluster-operators-subscription
이미지로out/argocd/deployment/argocd-openshift-gitops-patch.json
파일을 수정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ArgoCD 인스턴스에 패치를 적용합니다. 다음 명령을 실행합니다.
oc patch argocd openshift-gitops \ -n openshift-gitops --type=merge \ --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.json
$ oc patch argocd openshift-gitops \ -n openshift-gitops --type=merge \ --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
RHACM 2.7 이상에서는 멀티클러스터 엔진이 기본적으로
클러스터-프록시-애드온
기능을 활성화합니다. 다음 패치를 적용하여클러스터-프록시-애드온
기능을 비활성화하고 이 애드온을 담당하는 관련 허브 클러스터와 관리형 포드를 제거합니다. 다음 명령을 실행합니다.oc patch multiclusterengines.multicluster.openshift.io multiclusterengine --type=merge --patch-file out/argocd/deployment/disable-cluster-proxy-addon.json
$ oc patch multiclusterengines.multicluster.openshift.io multiclusterengine --type=merge --patch-file out/argocd/deployment/disable-cluster-proxy-addon.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 허브 클러스터에 파이프라인 구성을 적용합니다.
oc apply -k out/argocd/deployment
$ oc apply -k out/argocd/deployment
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 기존 ArgoCD 애플리케이션이 있는 경우 다음 명령을 실행하여
PrunePropagationPolicy=background
정책이애플리케이션
리소스에 설정되어 있는지 확인합니다.oc -n openshift-gitops get applications.argoproj.io \ clusters -o jsonpath='{.spec.syncPolicy.syncOptions}' |jq
$ oc -n openshift-gitops get applications.argoproj.io \ clusters -o jsonpath='{.spec.syncPolicy.syncOptions}' |jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 정책에 대한 예시 출력
[ "CreateNamespace=true", "PrunePropagationPolicy=background", "RespectIgnoreDifferences=true" ]
[ "CreateNamespace=true", "PrunePropagationPolicy=background", "RespectIgnoreDifferences=true" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.syncPolicy.syncOption
필드에PrunePropagationPolicy
매개변수가 포함되어 있지 않거나PrunePropagationPolicy가
포그라운드
값으로 설정된 경우애플리케이션
리소스에서 정책을백그라운드
로 설정합니다. 다음 예제를 참조하십시오.kind: Application spec: syncPolicy: syncOptions: - PrunePropagationPolicy=background
kind: Application spec: syncPolicy: syncOptions: - PrunePropagationPolicy=background
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
백그라운드
삭제 정책을 설정하면ManagedCluster
CR과 연관된 모든 리소스가 삭제됩니다.