11.5. ClusterGroupUpgrade CR 정보
Topology Aware Lifecycle Manager(TALM)는 클러스터 그룹의 ClusterGroupUpgrade CR에서 수정 계획을 빌드합니다. ClusterGroupUpgrade CR에서 다음 사양을 정의할 수 있습니다.
- 그룹의 클러스터
-
ClusterGroupUpgradeCR 차단 - 적용 가능한 관리 정책 목록
- 동시 업데이트 수
- 적용 가능한 카나리아 업데이트
- 업데이트 전후에 수행할 작업
- 업데이트 타이밍
ClusterGroupUpgrade CR의 enable 필드를 사용하여 업데이트 시작 시간을 제어할 수 있습니다. 예를 들어 스케줄링된 유지 관리 기간이 4시간인 경우 enable 필드가 false 로 설정된 ClusterGroupUpgrade CR을 준비할 수 있습니다.
spec.remediationStrategy.timeout 설정을 다음과 같이 구성하여 시간 제한을 설정할 수 있습니다.
spec
remediationStrategy:
maxConcurrency: 1
timeout: 240
batchTimeoutAction 을 사용하여 클러스터에 대한 업데이트가 실패하면 어떤 일이 발생하는지 확인할 수 있습니다. 실패한 클러스터를 계속 건너뛰고 다른 클러스터를 계속 업그레이드하거나 모든 클러스터의 정책 수정을 중지하도록 중단할 수 있습니다. 시간 초과가 경과하면 TALM은 모든 적용 정책을 제거하여 클러스터에 대한 추가 업데이트가 없는지 확인합니다.
변경 사항을 적용하려면 enabled 필드를 true 로 설정합니다.
자세한 내용은 "관리된 클러스터에 업데이트 정책 적용" 섹션을 참조하십시오.
TALM은 지정된 클러스터에 대한 정책 수정을 통해 작동하므로 ClusterGroupUpgrade CR은 여러 조건에 대해 true 또는 false 상태를 보고할 수 있습니다.
TALM이 클러스터 업데이트를 완료한 후 동일한 ClusterGroupUpgrade CR 제어 하에서 클러스터가 다시 업데이트되지 않습니다. 다음과 같은 경우 새 ClusterGroupUpgrade CR을 생성해야 합니다.
- 클러스터를 다시 업데이트해야 하는 경우
-
클러스터가 업데이트 후 알림 정책과
호환되지않는 경우
11.5.1. 클러스터 선택 링크 복사링크가 클립보드에 복사되었습니다!
TALM은 수정 계획을 빌드하고 다음 필드를 기반으로 클러스터를 선택합니다.
-
clusterLabelSelector필드는 업데이트할 클러스터의 레이블을 지정합니다.k8s.io/apimachinery/pkg/apis/meta/v1의 표준 라벨 선택기 목록으로 구성됩니다. 목록의 각 선택기는 레이블 값 쌍 또는 레이블 표현식을 사용합니다. 각 선택기의 일치 항목은clusterSelector필드 및 cluster 필드의 일치 항목과 함께 최종클러스터목록에 추가됩니다. -
cluster필드는 업데이트할 클러스터 목록을 지정합니다. -
canaries필드는 카나리아 업데이트를 위한 클러스터를 지정합니다. -
maxConcurrency필드는 배치에서 업데이트할 클러스터 수를 지정합니다. -
actions필드는 TALM이 업데이트 프로세스를 시작할 때 수행하는beforeEnable작업과 TALM이 각 클러스터에 대한 정책 수정을 완료할 때 수행하는afterCompletion작업을 지정합니다.
clusters , clusterLabelSelector , clusterSelector 필드를 함께 사용하면 클러스터의 결합된 목록을 만들 수 있습니다.
수정 계획은 canaries 필드에 나열된 클러스터로 시작합니다. 각 카나리아 클러스터는 단일 클러스터 배치를 형성합니다.
enabled 필드 가 false로 설정된 샘플 ClusterGroupUpgrade CR
apiVersion: ran.openshift.io/v1alpha1
kind: ClusterGroupUpgrade
metadata:
creationTimestamp: '2022-11-18T16:27:15Z'
finalizers:
- ran.openshift.io/cleanup-finalizer
generation: 1
name: talm-cgu
namespace: talm-namespace
resourceVersion: '40451823'
uid: cca245a5-4bca-45fa-89c0-aa6af81a596c
Spec:
actions:
afterCompletion:
addClusterLabels:
upgrade-done: ""
deleteClusterLabels:
upgrade-running: ""
deleteObjects: true
beforeEnable:
addClusterLabels:
upgrade-running: ""
backup: false
clusters:
- spoke1
enable: false
managedPolicies:
- talm-policy
preCaching: false
remediationStrategy:
canaries:
- spoke1
maxConcurrency: 2
timeout: 240
clusterLabelSelectors:
- matchExpressions:
- key: label1
operator: In
values:
- value1a
- value1b
batchTimeoutAction:
status:
computedMaxConcurrency: 2
conditions:
- lastTransitionTime: '2022-11-18T16:27:15Z'
message: All selected clusters are valid
reason: ClusterSelectionCompleted
status: 'True'
type: ClustersSelected
- lastTransitionTime: '2022-11-18T16:27:15Z'
message: Completed validation
reason: ValidationCompleted
status: 'True'
type: Validated
- lastTransitionTime: '2022-11-18T16:37:16Z'
message: Not enabled
reason: NotEnabled
status: 'False'
type: Progressing
managedPoliciesForUpgrade:
- name: talm-policy
namespace: talm-namespace
managedPoliciesNs:
talm-policy: talm-namespace
remediationPlan:
- - spoke1
- - spoke2
- spoke3
status:
- 1
- 각 클러스터에 대한 정책 수정을 완료할 때 TALM이 수행하는 작업을 지정합니다.
- 2
- 업데이트 프로세스를 시작할 때 TALM이 수행하는 작업을 지정합니다.
- 3
- 업데이트할 클러스터 목록을 정의합니다.
- 4
enable필드는false로 설정됩니다.- 5
- 수정할 사용자 정의 정책 집합을 나열합니다.
- 6
- 클러스터 업데이트의 세부 사항을 정의합니다.
- 7
- 카나리아 업데이트를 위한 클러스터를 정의합니다.
- 8
- 일괄 처리의 최대 동시 업데이트 수를 정의합니다. 수정 배치 수는 카나리아 클러스터 수와 카나리아 클러스터를 제외하고
maxConcurrency값으로 나눈 클러스터 수입니다. 이미 모든 관리 정책과 호환되는 클러스터는 수정 계획에서 제외됩니다. - 9
- 클러스터 선택을 위한 매개변수를 표시합니다.
- 10
- 일괄 처리가 시간 초과되는 경우 발생하는 작업을 제어합니다. 가능한 값은
abort또는continue입니다. 지정되지 않은 경우 기본값은계속됩니다. - 11
- 업데이트 상태에 대한 정보를 표시합니다.
- 12
ClustersSelected조건은 선택한 모든 클러스터가 유효한 것으로 표시됩니다.- 13
검증됨조건은 선택한 모든 클러스터가 검증되었음을 보여줍니다.
카나리아 클러스터를 업데이트하는 동안 오류가 발생하면 업데이트 프로세스가 중지됩니다.
수정 계획이 성공적으로 생성되면 enable 필드를 true 로 설정하고 TALM이 지정된 관리 정책으로 호환되지 않는 클러스터를 업데이트하기 시작할 수 있습니다.
ClusterGroupUpgrade CR의 enable 필드가 false 로 설정된 경우에만 spec 필드를 변경할 수 있습니다.