12.6. 관리 클러스터에서 정책 업데이트
TALM( Topology Aware Lifecycle Manager)은 ClusterGroupUpgrade
CR(사용자 정의 리소스)에 지정된 클러스터에 대한 정보
정책 세트를 수정합니다. TALM은 PlacementBinding
CR의 bindingOverrides.remediationAction
및 subFilter
사양을 통해 Policy
CR의 remediationAction
사양을 제어하여 정책을 수정하고 알려
줍니다. 각 정책에는 해당 RHACM 배치 규칙과 RHACM 배치 바인딩이 있습니다.
TALM은 현재 배치의 각 클러스터를 적용 가능한 관리 정책에 해당하는 배치 규칙에 하나씩 추가합니다. 클러스터가 이미 정책을 준수하는 경우 TALM은 준수하는 클러스터에 해당 정책을 적용하지 않습니다. 그런 다음 TALM은 비준수 클러스터에 다음 정책을 적용합니다. TALM이 일괄적으로 업데이트를 완료하면 모든 클러스터가 정책과 연결된 배치 규칙에서 제거됩니다. 그러면 다음 배치의 업데이트가 시작됩니다.
스포크 클러스터가 RHACM에 규정 준수 상태를 보고하지 않으면 허브 클러스터의 관리 정책에 TALM에 필요한 상태 정보가 누락될 수 있습니다. TALM은 다음과 같은 방법으로 이러한 사례를 처리합니다.
-
정책의
status.compliant
필드가 누락된 경우 TALM은 정책을 무시하고 로그 항목을 추가합니다. 그런 다음 TALM은 정책의status.status
필드를 계속 살펴봅니다. -
정책의
status.status
가 없으면 TALM에서 오류가 발생합니다. -
정책의
status.status
필드에 클러스터의 준수 상태가 누락된 경우 TALM은 해당 클러스터가 해당 정책을 준수하지 않는 것으로 간주합니다.
ClusterGroupUpgrade
CR의 batchTimeoutAction은
클러스터의 업그레이드가 실패할 경우 어떻게 되는지 결정합니다. continue를
지정하여 실패한 클러스터를 건너뛰고 다른 클러스터를 업그레이드할 수 있으며, abort를
지정하여 모든 클러스터의 정책 수정을 중지할 수 있습니다. 제한 시간이 지나면 TALM은 클러스터에 더 이상 업데이트가 이루어지지 않도록 자신이 만든 모든 리소스를 제거합니다.
업그레이드 정책 예시
RHACM 정책에 대한 자세한 내용은 정책 개요 를 참조하십시오.
12.6.1. TALM으로 설치하는 관리형 클러스터에 대한 운영자 구독 구성 링크 복사링크가 클립보드에 복사되었습니다!
TALM(Topology Aware Lifecycle Manager)은 Operator의 구독
사용자 정의 리소스(CR)에 status.state.AtLatestKnown
필드가 포함되어 있는 경우에만 Operator에 대한 설치 계획을 승인할 수 있습니다.
프로세스
운영자의
구독
CR에status.state.AtLatestKnown
필드를 추가합니다.서브스크립션 CR의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
status.state: AtLatestKnown
필드는 Operator 카탈로그에서 사용 가능한 최신 Operator 버전에 사용됩니다.
참고레지스트리에 새로운 버전의 Operator가 출시되면 관련 정책이 준수되지 않게 됩니다.
-
ClusterGroupUpgrade
CR을 사용하여 변경된구독
정책을 관리되는 클러스터에 적용합니다.
12.6.2. 관리되는 클러스터에 업데이트 정책 적용 링크 복사링크가 클립보드에 복사되었습니다!
정책을 적용하여 관리되는 클러스터를 업데이트할 수 있습니다.
사전 요구 사항
- TALM(Topology Aware Lifecycle Manager)을 설치합니다.
- TALM에는 RHACM 2.9 이상이 필요합니다.
- 하나 이상의 관리형 클러스터를 프로비저닝합니다.
-
cluster-admin
권한이 있는 사용자로 로그인합니다. - 허브 클러스터에서 RHACM 정책을 만듭니다.
프로세스
ClusterGroupUpgrade
CR의 내용을cgu-1.yaml
파일에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ClusterGroupUpgrade
CR을 만듭니다.oc create -f cgu-1.yaml
$ oc create -f cgu-1.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 허브 클러스터에
ClusterGroupUpgrade
CR이 생성되었는지 확인하세요.oc get cgu --all-namespaces
$ oc get cgu --all-namespaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAMESPACE NAME AGE STATE DETAILS default cgu-1 8m55 NotEnabled Not Enabled
NAMESPACE NAME AGE STATE DETAILS default cgu-1 8m55 NotEnabled Not Enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 업데이트 상태를 확인하세요.
oc get cgu -n default cgu-1 -ojsonpath='{.status}' | jq
$ oc get cgu -n default cgu-1 -ojsonpath='{.status}' | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ClusterGroupUpgrade
CR의spec.enable
필드가false
로 설정되었습니다.
다음 명령을 실행하여
spec.enable
필드의 값을true
로 변경합니다.oc --namespace=default patch clustergroupupgrade.ran.openshift.io/cgu-1 \ --patch '{"spec":{"enable":true}}' --type=merge
$ oc --namespace=default patch clustergroupupgrade.ran.openshift.io/cgu-1 \ --patch '{"spec":{"enable":true}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 업데이트 상태를 확인하세요.
oc get cgu -n default cgu-1 -ojsonpath='{.status}' | jq
$ oc get cgu -n default cgu-1 -ojsonpath='{.status}' | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 현재 배치의 업데이트 진행 상황을 반영합니다. 진행 상황에 대한 최신 정보를 받으려면 이 명령을 다시 실행하세요.
다음 명령을 실행하여 정책 상태를 확인하세요.
oc get policies -A
oc get policies -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
spec.remediationAction
값은 현재 배치의 클러스터에 적용된 자식 정책에적용되도록
변경됩니다. -
spec.remedationAction
값은 나머지 클러스터의 자식 정책에 대한정보를 제공합니다
. -
배치가 완료되면
spec.remediationAction
값이 다시 변경되어 적용된 자식 정책에 대한정보를 알려줍니다
.
-
정책에 운영자 구독이 포함되어 있는 경우 단일 노드 클러스터에서 직접 설치 진행 상황을 확인할 수 있습니다.
다음 명령을 실행하여 설치 진행 상황을 확인하려는 단일 노드 클러스터의
KUBECONFIG
파일을 내보냅니다.export KUBECONFIG=<cluster_kubeconfig_absolute_path>
$ export KUBECONFIG=<cluster_kubeconfig_absolute_path>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 단일 노드 클러스터에 있는 모든 구독을 확인하고
ClusterGroupUpgrade
CR을 통해 설치하려는 정책에서 해당 구독을 찾으세요.oc get subs -A | grep -i <subscription_name>
$ oc get subs -A | grep -i <subscription_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 로깅
정책에 대한 예시 출력NAMESPACE NAME PACKAGE SOURCE CHANNEL openshift-logging cluster-logging cluster-logging redhat-operators stable
NAMESPACE NAME PACKAGE SOURCE CHANNEL openshift-logging cluster-logging cluster-logging redhat-operators stable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
관리되는 정책 중 하나에
ClusterVersion
CR이 포함된 경우 스포크 클러스터에 대해 다음 명령을 실행하여 현재 배치의 플랫폼 업데이트 상태를 확인합니다.oc get clusterversion
$ oc get clusterversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.4.19.5 True True 43s Working towards 4.4.19.7: 71 of 735 done (9% complete)
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.4.19.5 True True 43s Working towards 4.4.19.7: 71 of 735 done (9% complete)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Operator 구독을 확인하세요.
oc get subs -n <operator-namespace> <operator-subscription> -ojsonpath="{.status}"
$ oc get subs -n <operator-namespace> <operator-subscription> -ojsonpath="{.status}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 원하는 구독과 연결된 단일 노드 클러스터에 있는 설치 계획을 확인하세요.
oc get installplan -n <subscription_namespace>
$ oc get installplan -n <subscription_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 로깅
연산자에 대한 예제 출력NAMESPACE NAME CSV APPROVAL APPROVED openshift-logging install-6khtw cluster-logging.5.3.3-4 Manual true
NAMESPACE NAME CSV APPROVAL APPROVED openshift-logging install-6khtw cluster-logging.5.3.3-4 Manual true
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 설치 계획의
승인
필드는수동
으로 설정되어 있으며, TALM에서 설치 계획을 승인한 후에는승인
필드가false
에서true
로 변경됩니다.
참고TALM이 구독이 포함된 정책을 수정할 경우 해당 구독에 연결된 모든 설치 계획을 자동으로 승인합니다. 운영자에게 최신 알려진 버전을 제공하기 위해 여러 설치 계획이 필요한 경우 TALM은 여러 설치 계획을 승인하고 하나 이상의 중간 버전을 거쳐 업그레이드하여 최종 버전을 얻을 수 있습니다.
ClusterGroupUpgrade가
설치하는 정책의 운영자에 대한 클러스터 서비스 버전이성공
단계에 도달했는지 확인하려면 다음 명령을 실행하세요.oc get csv -n <operator_namespace>
$ oc get csv -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift 로깅 연산자에 대한 예제 출력
NAME DISPLAY VERSION REPLACES PHASE cluster-logging.v6.2.1 Red Hat OpenShift Logging 6.2.1 Succeeded
NAME DISPLAY VERSION REPLACES PHASE cluster-logging.v6.2.1 Red Hat OpenShift Logging 6.2.1 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow