5.8. 정책을 사용하여 적용된 관리 클러스터 CR 변경
정책을 통해 관리 클러스터에 배포된 CR(사용자 정의 리소스)에서 콘텐츠를 제거할 수 있습니다.
기본적으로 CR에서 생성된 모든 Policy CR에는 Policy GenTemplatecomplianceType 필드가 musthave 로 설정되어 있습니다. 관리 클러스터의 CR에 지정된 콘텐츠가 모두 있으므로 제거된 콘텐츠가 없는 musthave 정책은 계속 호환됩니다. 이 구성을 사용하면 CR에서 콘텐츠를 제거할 때 TALM은 정책에서 콘텐츠를 제거하지만 콘텐츠는 관리 클러스터의 CR에서 제거되지 않습니다.
mustonlyhave 에 complianceType 필드를 사용하면 정책에서 클러스터의 CR이 정책에 지정된 내용과 정확히 일치하도록 합니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. -
cluster-admin권한이 있는 사용자로 hub 클러스터에 로그인했습니다. - RHACM을 실행하는 허브 클러스터에서 관리 클러스터를 배포했습니다.
- hub 클러스터에 Topology Aware Lifecycle Manager를 설치했습니다.
프로세스
영향을 받는 CR에서 더 이상 필요하지 않은 콘텐츠를 제거합니다. 이 예에서는
disableDrain: false행이SriovOperatorConfigCR에서 제거되었습니다.CR 예
apiVersion: sriovnetwork.openshift.io/v1 kind: SriovOperatorConfig metadata: name: default namespace: openshift-sriov-network-operator spec: configDaemonNodeSelector: "node-role.kubernetes.io/$mcp": "" disableDrain: true enableInjector: true enableOperatorWebhook: true영향을 받는 정책의
complianceType을group-du-sno-ranGen.yaml파일에서mustonlyhave로 변경합니다.YAML의 예
# ... - fileName: SriovOperatorConfig.yaml policyName: "config-policy" complianceType: mustonlyhave # ...ClusterGroupUpdatesCR을 생성하고 CR 변경 사항을 받아야 하는 클러스터를 지정합니다.ClusterGroupUpdates CR의 예
apiVersion: ran.openshift.io/v1alpha1 kind: ClusterGroupUpgrade metadata: name: cgu-remove namespace: default spec: managedPolicies: - ztp-group.group-du-sno-config-policy enable: false clusters: - spoke1 - spoke2 remediationStrategy: maxConcurrency: 2 timeout: 240 batchTimeoutAction:다음 명령을 실행하여
ClusterGroupUpgradeCR을 생성합니다.$ oc create -f cgu-remove.yaml적절한 유지 관리 기간 동안 변경 사항을 적용할 준비가 되면 다음 명령을 실행하여
spec.enable필드의 값을true로 변경합니다.$ oc --namespace=default patch clustergroupupgrade.ran.openshift.io/cgu-remove \ --patch '{"spec":{"enable":true}}' --type=merge
검증
다음 명령을 실행하여 정책의 상태를 확인합니다.
$ oc get <kind> <changed_cr_name>출력 예
NAMESPACE NAME REMEDIATION ACTION COMPLIANCE STATE AGE default cgu-ztp-group.group-du-sno-config-policy enforce 17m default ztp-group.group-du-sno-config-policy inform NonCompliant 15h정책의
COMPLIANCE STATE가Compliant인 경우 CR이 업데이트되고 원하지 않는 콘텐츠가 제거됨을 의미합니다.관리 클러스터에서 다음 명령을 실행하여 정책이 대상 클러스터에서 제거되었는지 확인합니다.
$ oc get <kind> <changed_cr_name>결과가 없는 경우 관리 클러스터에서 CR이 제거됩니다.