30.3. MetalLB 업그레이드
현재 버전 4.10 또는 이전 버전의 MetalLB Operator가 실행 중인 경우 4.10 이후 버전에 대한 자동 업데이트가 작동하지 않습니다. 4.11 이상인 MetalLB Operator의 모든 버전에서 최신 버전으로 업그레이드하는 것이 성공합니다. 예를 들어 4.12에서 버전 4.13으로 업그레이드하면 원활하게 수행됩니다.
4.10 및 이전 버전의 MetalLB Operator에 대한 업그레이드 절차 요약은 다음과 같습니다.
-
example 4.10과 같이 설치된 MetalLB Operator 버전을 삭제합니다. 네임스페이스 및
metallb
사용자 정의 리소스가 제거되지 않았는지 확인합니다. - CLI를 사용하여 이전 버전의 MetalLB Operator가 설치된 동일한 네임스페이스에 MetalLB Operator 4.17을 설치합니다.
이 절차는 표준 간단한 방법을 따르는 MetalLB Operator의 자동 z-stream 업데이트에는 적용되지 않습니다.
4.10 및 이전 버전에서 MetalLB Operator를 업그레이드하는 자세한 단계는 다음 지침을 참조하십시오. 클러스터 관리자는 OpenShift CLI(oc
) 또는 웹 콘솔을 사용하여 MetalLB Operator를 삭제하여 업그레이드 프로세스를 시작합니다.
30.3.1. 웹 콘솔을 사용하여 클러스터에서 MetalLB Operator 삭제
클러스터 관리자는 웹 콘솔을 사용하여 선택한 네임스페이스에서 설치된 Operator를 삭제할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터 웹 콘솔에 액세스할 수 있습니다.
프로세스
-
Operator
설치된 Operator 페이지로 이동합니다. - MetalLB Operator를 검색합니다. 그런 다음 해당 Operator를 클릭합니다.
Operator 상세 정보 페이지 오른쪽에 있는 작업 드롭다운 메뉴에서 Operator 제거를 선택합니다.
Operator를 설치 제거하시겠습니까? 대화 상자가 표시됩니다.
설치 제거를 선택하여 Operator, Operator 배포 및 Pod를 제거합니다. 이 작업 후에 Operator는 실행을 중지하고 더 이상 업데이트가 수신되지 않습니다.
참고이 작업은 CRD(사용자 정의 리소스 정의) 및 CR(사용자 정의 리소스)을 포함하여 Operator에서 관리하는 리소스를 제거하지 않습니다. 웹 콘솔에서 활성화된 대시보드 및 탐색 항목과 계속 실행되는 클러스터 외부 리소스는 수동 정리가 필요할 수 있습니다. Operator를 설치 제거한 후 해당 항목을 제거하려면 Operator CRD를 수동으로 삭제해야 할 수 있습니다.
30.3.2. CLI를 사용하여 클러스터에서 MetalLB Operator 삭제
클러스터 관리자는 CLI를 사용하여 선택한 네임스페이스에서 설치된 Operator를 삭제할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. -
oc
명령이 워크스테이션에 설치되어 있습니다.
프로세스
currentCSV
필드에서 구독한 MetalLB Operator의 현재 버전을 확인합니다.$ oc get subscription metallb-operator -n metallb-system -o yaml | grep currentCSV
출력 예
currentCSV: metallb-operator.4.10.0-202207051316
서브스크립션을 삭제합니다.
$ oc delete subscription metallb-operator -n metallb-system
출력 예
subscription.operators.coreos.com "metallb-operator" deleted
이전 단계의
currentCSV
값을 사용하여 대상 네임스페이스에서 Operator의 CSV를 삭제합니다.$ oc delete clusterserviceversion metallb-operator.4.10.0-202207051316 -n metallb-system
출력 예
clusterserviceversion.operators.coreos.com "metallb-operator.4.10.0-202207051316" deleted
30.3.3. MetalLB Operator group 편집
MetalLB Operator 버전에서 4.10에서 4.11 이상으로 포함하는 경우 Operator group CR(사용자 정의 리소스)에서 spec.targetNamespaces
를 제거합니다. 웹 콘솔을 사용했는지 또는 CLI를 사용하여 MetalLB Operator를 삭제하는지 여부와 관계없이 사양을 제거해야 합니다.
MetalLB Operator 버전 4.11 이상은 AllNamespaces
설치 모드만 지원하지만 4.10 또는 이전 버전은 OwnNamespace
또는 SingleNamespace
모드를 지원합니다.
사전 요구 사항
-
cluster-admin
권한이 있는 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc
)가 설치되어 있습니다.
프로세스
다음 명령을 실행하여
metallb-system
네임스페이스에 Operator 그룹을 나열합니다.$ oc get operatorgroup -n metallb-system
출력 예
NAME AGE metallb-system-7jc66 85m
다음 명령을 실행하여
metallb-system
네임스페이스와 연결된 Operator group CR에spec.targetNamespaces
가 있는지 확인합니다.$ oc get operatorgroup metallb-system-7jc66 -n metallb-system -o yaml
출력 예
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: annotations: olm.providedAPIs: "" creationTimestamp: "2023-10-25T09:42:49Z" generateName: metallb-system- generation: 1 name: metallb-system-7jc66 namespace: metallb-system resourceVersion: "25027" uid: f5f644a0-eef8-4e31-a306-e2bbcfaffab3 spec: targetNamespaces: - metallb-system upgradeStrategy: Default status: lastUpdated: "2023-10-25T09:42:49Z" namespaces: - metallb-system
다음 명령을 실행하여 Operator group을 편집하고
spec
섹션 아래에 있는targetNamespaces
및metallb-system
을 제거합니다.$ oc edit n metallb-system
출력 예
operatorgroup.operators.coreos.com/metallb-system-7jc66 edited
다음 명령을 실행하여
metallb-system
네임스페이스와 연결된 Operator group 사용자 정의 리소스에서spec.targetNamespaces
가 제거되었는지 확인합니다.$ oc get operatorgroup metallb-system-7jc66 -n metallb-system -o yaml
출력 예
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: annotations: olm.providedAPIs: "" creationTimestamp: "2023-10-25T09:42:49Z" generateName: metallb-system- generation: 2 name: metallb-system-7jc66 namespace: metallb-system resourceVersion: "61658" uid: f5f644a0-eef8-4e31-a306-e2bbcfaffab3 spec: upgradeStrategy: Default status: lastUpdated: "2023-10-25T14:31:30Z" namespaces: - ""
30.3.4. MetalLB Operator 업그레이드
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스합니다.
프로세스
metallb-system
네임스페이스가 여전히 있는지 확인합니다.$ oc get namespaces | grep metallb-system
출력 예
metallb-system Active 31m
metallb
사용자 정의 리소스가 여전히 존재하는지 확인합니다.$ oc get metallb -n metallb-system
출력 예
NAME AGE metallb 33m
"CLI를 사용하여 OperatorHub에서 설치"의 지침에 따라 MetalLB Operator의 최신 4.17 버전을 설치합니다.
참고최신 4.17 버전의 MetalLB Operator를 설치할 때 이전에 설치한 동일한 네임스페이스에 Operator를 설치해야 합니다.
Operator의 업그레이드된 버전이 4.17 버전인지 확인합니다.
$ oc get csv -n metallb-system
출력 예
NAME DISPLAY VERSION REPLACES PHASE metallb-operator.4.17.0-202207051316 MetalLB Operator 4.17.0-202207051316 Succeeded