1.5. Red Hat OpenShift GitOps를 사용하여 정책 정의 관리
ArgoCD
리소스를 사용하면 Red Hat OpenShift GitOps를 사용하여 Red Hat Advanced Cluster Management Hub 클러스터에서 정책을 생성하기 위해 OpenShift GitOps 액세스 권한을 부여하여 정책 정의를 관리할 수 있습니다.
1.5.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
hub 클러스터에 로그인해야 합니다.
필수 액세스: 클러스터 관리자
더 이상 사용되지 않음: PlacementRule
1.5.2. OpenShift GitOps의 ClusterRole 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
정책 및 배치를 생성, 읽기, 업데이트 및 삭제할 수 있는 액세스 권한으로 OpenShift GitOps에 대한 ClusterRole
리소스를 생성하려면 다음을 수행합니다.
콘솔에서
ClusterRole
을 생성합니다.ClusterRole
은 다음 예와 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift GitOps 서비스 계정 액세스 권한을
openshift-gitops-policy-admin
ClusterRole
오브젝트에 부여할ClusterRoleBinding
오브젝트를 생성합니다.ClusterRoleBinding
은 다음 예와 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: - Red Hat Advanced Cluster Management 정책 정의가 OpenShift GitOps와 함께 배포되면 허브 템플릿 차이를 해결하기 위해 각 관리 클러스터 네임스페이스에 정책 사본이 생성됩니다. 이러한 복사본을 복제 정책이라고 합니다. - OpenShift GitOps가 복제된 정책을 반복적으로 삭제하거나 Argo CD 애플리케이션이 동기화되지 않도록 하려면
argocd.argoproj.io/compare-options: IgnoreExtraneous
주석은 Red Hat Advanced Cluster Management 정책 프레임워크에서 복제된 각 정책에 자동으로 설정됩니다.-
Argo CD에서 오브젝트를 추적하는 데 사용하는 레이블 및 주석이 있습니다. Argo CD에 복제 정책이 표시되지 않도록 하려면 Red Hat Advanced Cluster Management 정책 정의에서
spec.copyPolicyMetadata
를false
로 설정하여 Argo CD 추적 레이블 및 주석을 비활성화합니다.
1.5.3. OpenShift GitOps와 정책 생성기 통합 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift GitOps를 사용하여 GitOps를 통해 정책 생성기를 사용하여 정책을 생성할 수 있습니다. Policy Generator는 OpenShift GitOps 컨테이너 이미지에 사전 설치되지 않으므로 사용자 정의를 완료해야 합니다.
1.5.3.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
- Red Hat Advanced Cluster Management Hub 클러스터에 OpenShift GitOps를 설치해야 합니다.
- hub 클러스터에 로그인해야 합니다.
1.5.3.2. OpenShift GitOps에서 정책 생성기 액세스 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift GitOps에서 정책 생성기에 액세스하려면 Red Hat Advanced Cluster Management Application Subscription 컨테이너 이미지에서 Policy Generator 바이너리를 복사하도록 Init Container를 구성해야 합니다. Kustomize를 실행할 때 --enable-alpha-plugins
플래그를 제공하여 OpenShift GitOps도 구성해야 합니다.
정책 생성기를 사용하여 정책 및 배치를 생성, 읽기, 업데이트 및 삭제하려면 OpenShift GitOps의 정책 생성기 액세스 권한을 부여합니다. 다음 단계를 완료합니다.
다음 명령을 사용하여 OpenShift GitOps
argocd
오브젝트를 편집합니다.oc -n openshift-gitops edit argocd openshift-gitops
oc -n openshift-gitops edit argocd openshift-gitops
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Policy Generator를 최신 버전으로 업데이트하려면 Init Container에서 사용하는
registry.redhat.io/rhacm2/multicluster-operators-subscription-rhel9
이미지를 최신 태그에 추가합니다. <version&
gt; 매개변수를ArgoCD
리소스의 최신 Red Hat Advanced Cluster Management 버전으로 바꿉니다.ArgoCD
리소스는 다음 YAML 파일과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: 또는
MulticlusterHub
에 설정된 버전과 일치하도록ArgoCD
매니페스트 및 템플릿이 포함된ConfigurationPolicy
리소스를 생성할 수 있습니다.image: '{{ (index (lookup "apps/v1" "Deployment" "open-cluster-management" "multicluster-operators-hub-subscription").spec.template.spec.containers 0).image }}'
image: '{{ (index (lookup "apps/v1" "Deployment" "open-cluster-management" "multicluster-operators-hub-subscription").spec.template.spec.containers 0).image }}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책을 생성하기 전에 Kustomize 디렉터리 내에서 Helm 차트 처리를 활성화하려면
spec.repo.env
필드에서POLICY_GEN_ENABLE_HELM
환경 변수를"true"
로 설정합니다.env: - name: POLICY_GEN_ENABLE_HELM value: "true"
env: - name: POLICY_GEN_ENABLE_HELM value: "true"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 정책 및 배치를 생성, 읽기, 업데이트 및 삭제하려면
ClusterRoleBinding
오브젝트를 생성하여 OpenShift GitOps 서비스 계정에 Red Hat Advanced Cluster Management Hub 클러스터에 대한 액세스 권한을 부여합니다.ClusterRoleBinding
은 다음 리소스와 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5.4. OpenShift GitOps의 정책 상태 점검 구성 링크 복사링크가 클립보드에 복사되었습니다!
ArgoCD
리소스와 함께 OpenShift GitOps를 사용하여 resource healthCheck s
필드에 추가하여 리소스 상태를 기반으로 리소스의 상태를 설정하는 사용자 지정 논리를 정의합니다. 예를 들어 정책을 준수하는 경우에만 정책을 정상으로 보고하는 사용자 정의 상태 점검을 정의할 수 있습니다.
중요: 인터넷에서 악의적인 것을 다운로드하지 않았는지 확인하려면 적용하기 전에 모든 정책을 검토하십시오.
리소스 유형에 대한 상태 점검을 정의하려면 다음 단계를 완료합니다.
argocd-policy-healthchecks.yaml
을 다운로드하여Certificate
,Policy
ConfigurationPolicy
,OperatorPolicy
에 상태 점검을 추가합니다. 다음 명령을 실행합니다.wget https://raw.githubusercontent.com/open-cluster-management-io/policy-collection/main/stable/CM-Configuration-Management/argocd-policy-healthchecks.yaml
wget https://raw.githubusercontent.com/open-cluster-management-io/policy-collection/main/stable/CM-Configuration-Management/argocd-policy-healthchecks.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Governance > Create policy in the console 으로 이동하여 콘텐츠를 YAML 편집기에 붙여넣어
argocd-policy-healthchecks.yaml
정책을 적용합니다.참고: YAML 편집기에 배치 정보를 추가하여 정책이 활성화되어 있는 클러스터를 확인할 수 있습니다.
-
ArgoCD
리소스의 요약 탭을 확인하여 상태 점검이 예상대로 작동하는지 확인합니다. Argo CD 콘솔에서 상태 세부 정보를 확인합니다.
1.5.5. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- OpenShift GitOps 이해 설명서를 참조하십시오.