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
디렉터리가 생성됩니다.
프로세스
ArgoCD 파이프라인 구성을 준비합니다.
- 예제 디렉터리와 유사한 디렉터리 구조를 사용하여 Git 리포지토리를 생성합니다. 자세한 내용은 " GitOps ZTP 사이트 구성 리포지토리 준비"를 참조하십시오.
ArgoCD UI를 사용하여 리포지토리에 대한 액세스를 구성합니다. 설정에서 다음을 구성합니다.
-
리포지토리 - 연결 정보를 추가합니다. URL은
.git
로 끝나야 합니다(예:https://repo.example.com/repo.git
및 인증 정보). - certificates - 필요한 경우 리포지토리의 공용 인증서를 추가합니다.
-
리포지토리 - 연결 정보를 추가합니다. URL은
Git 리포지토리에 따라 2개의 ArgoCD 애플리케이션(
out/argocd/deployment/clusters-app.yaml
및out/argocd/deployment/policies-app.yaml
)을 수정합니다.-
Git 리포지토리를 가리키도록 URL을 업데이트합니다. URL은
.git
로 끝납니다(예:https://repo.example.com/repo.git
). -
targetRevision
은 모니터링할 Git 리포지토리 분기를 나타냅니다. -
path
는 각각SiteConfig
및PolicyGenerator
또는PolicyGentemplate
CR의 경로를 지정합니다.
-
Git 리포지토리를 가리키도록 URL을 업데이트합니다. URL은
GitOps ZTP 플러그인을 설치하려면 허브 클러스터의 ArgoCD 인스턴스를 관련 MCCE(Multicluster engine) 서브스크립션 이미지로 패치합니다. 이전에 추출한 패치 파일을 사용자 환경의
out/argocd/deployment/
디렉터리에 사용자 지정합니다.RHACM 버전과 일치하는
multicluster-operators-subscription
이미지를 선택합니다.표 2.5. multicluster-operators-subscription 이미지 버전 OpenShift Container Platform 버전 RHACM 버전 MCE 버전 MCE RHEL 버전 MCE 이미지 4.14, 4.15, 4.16
2.8, 2.9
2.8, 2.9
RHEL 8
registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel8:v2.8
registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel8:v2.9
4.14, 4.15, 4.16
2.10
2.10
RHEL 9
registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel9:v2.10
중요multicluster-operators-subscription
이미지의 버전은 RHACM 버전과 일치해야 합니다. MCE 2.10 릴리스부터 RHEL 9는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" } ] }
ArgoCD 인스턴스를 패치합니다. 다음 명령을 실행합니다.
$ oc patch argocd openshift-gitops \ -n openshift-gitops --type=merge \ --patch-file out/argocd/deployment/argocd-openshift-gitops-patch.json
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
다음 명령을 실행하여 허브 클러스터에 파이프라인 구성을 적용합니다.
$ oc apply -k out/argocd/deployment