OpenShift Data Foundation을 사용하는 VPC 워커 노드 업데이트 또는 교체

Virtual Private Cloud

OpenShift Data Foundation과 같은 스토리지 솔루션이 있는 VPC 클러스터의 경우 각 작업자 노드를 순차적으로 묶고, 비우고, 업데이트해야 합니다. 베어 메탈 워커 노드의 경우, 이제 worker replace`` 대신 worker reload 명령어를 사용할 수 있습니다. OpenShift Data Foundation을 클러스터 내 일부 워커 노드에 배포한 경우, 워커 노드를 업데이트한 후에는 ocscluster 리소스를 수정하여 새로운 워커 노드를 포함시켜야 합니다.

다음 튜토리얼에서는 메이저 및 마이너 업데이트와 워커 노드 업데이트를 모두 다룹니다.

Major update
이 레이블이 있는 단계를 완료하여 주요 업데이트를 적용하십시오. 예를 들어, 작업자 노드를 새 주요 버전 (예: 4.11 에서 4.12 로, 그리고 OpenShift Data Foundation에서 4.11 에서 4.12 로) 으로 업데이트하는 경우입니다.
Minor update
이 레이블이 있는 단계를 완료하여 패치 업데이트를 적용하십시오. 예를 들어, OpenShift Data Foundation 버전 4.12 을 유지하면서 4.12.15_1542_openshift 에서 4.12.16_1544_openshift 로 업데이트하는 경우입니다. 업데이트하려는 각 노드에 대해 이 단계를 반복해야 합니다.
Worker replace
동일한 패치 버전에서 작업자 노드를 대체하는 경우 이 레이블 단계를 사용하여 단계를 완료하십시오. 교체하려는 각 노드에 대해 이 단계를 반복해야 합니다.

업그레이드 과정에서 버전을 건너뛰는 행위(예: 에서 4.8 로 4.12 )는 지원되지 않습니다.

계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.

작업자 노드를 업데이트하기 전에 앱 데이터를 백업해야 합니다. 또한 한 번에 하나의 작업자 노드에 대해 다음 단계를 완료하도록 계획하십시오. 업데이트하려는 각 작업자 노드에 대해 단계를 반복하십시오.

스토리지 클러스터의 상태를 확인하세요

Major update Minor update Worker replace

  1. 다음 명령을 실행하여 파드를 나열하십시오. openshift-storage 네임스페이스의 모든 파드가 정상 상태인지 확인합니다. Running 또는 Completed 상태가 아닌 모든 파드를 처리하십시오.

    	oc get pods -n openshift-storage
    
  2. 다음 명령을 실행하여 ocs-storagecluster 의 Phase 이 Ready 인지 확인합니다.

    	oc get storagecluster -n openshift-storage
    

    출력 예

    	NAME                 AGE     PHASE   EXTERNAL   CREATED AT             VERSION
    	ocs-storagecluster   3m49s   Ready              2025-04-06T09:37:49Z   4.16.9
    
  3. 다음 명령어를 실행하여 Ceph 스토리지의 상태를 확인하십시오. 상태가 HEALTH_OK, 모든 OSD가 up 및 IN, 모든 pgs 이 active+clean 인지 확인합니다. 이러한 점검 중 하나라도 실패하면 지원 케이스를 엽니다. 케이스 세부 정보에 관련 로그 파일, 오류 메시지 또는 명령 출력을 모두 포함해야 합니다. 계속하기 전에 문제를 해결하세요.

    	oc rsh -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-operator) ceph status -c /var/lib/rook/openshift-storage/openshift-storage.config
    

    출력 예

    	health: HEALTH_OK  # Verify health is HEALTH_OK
    	services:
    		mon: 3 daemons, quorum a,b,c (age 3h)
    		mgr: a(active, since 6h)
    		mds: ocs-storagecluster-cephfilesystem:1 {0=ocs-storagecluster-cephfilesystem-b=up:active} 1 up:standby-replay
    		osd: 27 osds: 27 up (since 2h), 27 in (since 111m) # Verify OSDs are “up” and “in”
    		rgw: 2 daemons active (ocs.storagecluster.cephobjectstore.a, ocs.storagecluster.cephobjectstore.b)
    	data:
    		pools:   10 pools, 1136 pgs
    		objects: 5.50M objects, 3.3 TiB
    		usage:   9.9 TiB used, 43 TiB / 53 TiB avail
    		pgs:     1136 active+clean   # Verify psgs are active+clean
    	io:
    		client:   93 KiB/s rd, 2.0 MiB/s wr, 5 op/s rd, 29 op/s wr
    

추가 노드에 대한 업데이트 절차를 반복하기 전에 이러한 상태 확인을 반복합니다. 한 번에 두 개 이상의 OSD 포드를 중단시키면 사용자 데이터가 손상될 위험이 있습니다.

클러스터 마스터 업데이트

Major update

  1. 작업자 노드를 새 주 버전으로 업데이트하는 경우 (예: 4.11 에서 4.12 로) 먼저 클러스터 마스터를 업데이트하십시오.

    	ibmcloud oc cluster master update --cluster CLUSTER_NAME --version MAJOR.MINOR.PATCH --force-update
    

    명령 예제:

    	ibmcloud oc cluster master update --cluster mycluster --version 4.21.31 --force-update
    
  2. 몇 분 정도 기다린 후, 마스터 업데이트가 완료되었는지 확인하십시오.

    	  ibmcloud oc cluster ls
    

업데이트 또는 교체할 스토리지 노드를 결정하세요

Major update Minor update Worker replace

oc get nodes 를 사용하여 워커 노드 목록을 확인하고, 업데이트할 스토리지 노드를 결정하십시오.

oc get nodes

출력 예

NAME           STATUS   ROLES           AGE    VERSION
10.241.0.4     Ready    master,worker   106s   v1.21.6+4b61f94
10.241.128.4   Ready    master,worker   22d    v1.21.6+bb8d50a
10.241.64.4    Ready    master,worker   22d    v1.21.6+bb8d50a

스토리지 클러스터의 상태가 정상인지 확인하십시오

Major update Minor update Worker replace

다음 명령을 실행하여 스토리지 클러스터 상태를 확인합니다.

oc get storagecluster -n openshift-storage
oc get cephcluster -n openshift-storage

계속하기 전에 스토리지 클러스터가 정상인지 확인하세요.

OpenShift 데이터 파운데이션의 범위를 제한하고 규모를 축소합니다

Major update Minor update Worker replace

드레인(draining)을 수행하기 전에 rook-ceph-mon, ` `rook-ceph-osd 및 crashcollector의 배포 규모를 축소하면, 이러한 스토리지 프로세스가 강제로 종료되는 대신 정상적으로 종료되도록 할 수 있습니다. OSD 및 모니터 포드는 노드가 오프라인 상태인 동안 Ceph가 I/O를 안전하게 정지시키고 데이터 무결성을 유지할 수 있도록 정상적으로 종료되어야 합니다. 업데이트되거나 교체된 노드가 클러스터에 다시 합류하면, Rook-Ceph 오퍼레이터가 이러한 배포 항목의 복제본 수를 자동으로 원래 수로 다시 확장합니다.

  1. 노드를 cordon하십시오. 노드를 격리하면 ODF 배포를 축소하는 동안 해당 노드에 어떤 파드도 스케줄링되지 않습니다.

    	oc adm cordon NODE_NAME
    

    출력 예

    	node/10.241.0.4 cordoned
    
  2. 업데이트하려는 노드에서 실행 중인 rook-ceph-mon 및 rook-ceph-osd 포드를 찾으십시오. 출력 결과에 표시된 포드 이름을 확인해 두세요. 다음 단계에서 이 정보가 필요합니다.

    	oc get pods -n openshift-storage -o wide | grep NODE_NAME
    

    배포 이름은 마지막에 붙는 ReplicaSet 해시 및 파드 ID 접미사를 제외한 파드 이름입니다. 예를 들어, rook-ceph-osd-1-6d9f99c68f-pgvxt 이라는 이름의 포드는 rook-ceph-osd-1 디플로이먼트에 속하며, rook-ceph-mon-e-85fbb8bcc-kttbt 이라는 이름의 포드는 rook-ceph-mon-e 디플로이먼트에 속합니다.

  3. 이전 단계에서 확인한 포드의 배포 규모를 축소하십시오. ROOK_CEPH_MON_DEPLOYMENT 및 ROOK_CEPH_OSD_DEPLOYMENT 을 포드 이름에서 도출한 배포 이름으로 대체하십시오. 이전 명령을 실행한 결과 해당 노드에서 rook-ceph-mon 또는 rook-ceph-osd 포드가 발견되지 않았다면, 이 두 명령은 건너뛰고 crashcollector 명령으로 진행하십시오.

    	oc scale deployment ROOK_CEPH_MON_DEPLOYMENT --replicas=0 -n openshift-storage
    
    	oc scale deployment ROOK_CEPH_OSD_DEPLOYMENT --replicas=0 -n openshift-storage
    
    	oc scale deployment --selector=app=rook-ceph-crashcollector,node_name=NODE_NAME --replicas=0 -n openshift-storage
    

    명령어의 실행 결과가 error: no objects passed to scale인 경우, ` `oc get pods -n openshift-storage -o wide | grep NODE_NAME | grep crashcollector을 실행하여 해당 노드에서 crashcollector 포드가 실행 중이지 않은지 확인하십시오. 포드가 반환되지 않는다면, 이 명령은 건너뛰고 계속 진행해도 됩니다.

작업자 노드 드레인

Major update Minor update Worker replace

  1. 모든 팟(Pod)을 제거하려면 노드를 드레인하십시오. 작업자 노드를 드레인하면 팟(Pod)이 다른 작업자 노드로 이동하여 가동 중지 시간이 없도록 합니다. 또한 드레인하면 팟(Pod) 중단 비용이 중단되지 않습니다.

    	oc adm drain NODE_NAME --force --delete-emptydir-data --ignore-daemonsets
    

    출력 예

    	evicting pod "managed-storage-validation-webhooks-7fd79bc9f7-pdpv6"
    	evicting pod "calico-kube-controllers-647dbbd685-fmrp9"
    	evicting pod "certified-operators-2v852"
    	evicting pod "csi-snapshot-controller-77fbf474df-47ddt"
    	evicting pod "calico-typha-8574d89b8c-7f2cc"
    	evicting pod "dns-operator-6d48cbff67-vrrsw"
    	evicting pod "router-default-6fc798b98b-9m6kh"
    	evicting pod "prometheus-adapter-5b77ffdd5f-hzqrp"
    	evicting pod "alertmanager-main-1"
    	evicting pod "prometheus-k8s-0"
    	evicting pod "network-check-source-66c7fbb86-2r78z"
    
  2. NooBaa 포드가 드레인 과정에서 멈춰 버린 경우, 다른 노드에서 다시 스케줄링될 수 있도록 다음 순서대로 해당 포드를 삭제하십시오.

    	oc delete pod -n openshift-storage -l app=noobaa-db
    
    	oc delete pod -n openshift-storage -l app=noobaa-core
    
    	oc delete pod -n openshift-storage -l app=noobaa-endpoint
    
    	oc delete pod -n openshift-storage -l app=noobaa-operator
    
  3. 배출이 완료될 때까지 기다린 다음, 다음 단계를 수행하여 워커 노드를 업데이트하십시오.

베어 메탈 워커 노드의 영구 볼륨 정리

Major update Minor update Worker replace

베어 메탈 워커 노드만 해당: 베어 메탈 워커 노드를 업데이트하거나 교체하는 경우, ODF 디스크를 초기화하고 새로운 배포를 위해 노드를 준비하려면 다음 단계를 수행하십시오. 가상 서버 인스턴스(VSI) 워커 노드를 사용 중인 경우, 이 섹션을 건너뛰고 ‘워커 노드 업데이트’ 단계로 진행하십시오.

시작하기 전에, 워커 노드를 격리하고 데이터를 백업하는 이전 단계를 모두 완료했는지 확인하십시오.

  1. 새로운 영구 볼륨 생성을 준비하기 위해 베어 메탈 노드의 ODF 디스크를 초기화하십시오. 업데이트 중인 노드에서 디버그 포드를 시작합니다. NODE_NAME 을 사용자의 베어 메탈 워커 노드 이름으로 바꾸십시오.

    	kubectl debug node/NODE_NAME -it --image=registry.access.redhat.com/ubi8/ubi
    

    명령 예

    	kubectl debug node/kube-d8g2ek0l0bd8e4oss13g-bhargavibmu-default-000003b3 -it --image=registry.access.redhat.com/ubi8/ubi
    
  2. 디버그 포드 내에서 호스트의 루트 디렉터리로 이동합니다.

    	chroot /host
    
  3. ODF에서 사용했던 각 NVMe 디스크를 포맷하십시오. 사용 중인 구성의 디스크 수에 따라 디스크 범위(nvme{0..7}n1)를 조정하십시오.

    	for disk in /dev/nvme{0..7}n1; do
    	  echo "Wiping $disk..."
    	  wipefs -af $disk
    	  dd if=/dev/zero of=$disk bs=1M count=100
    	  sgdisk --zap-all $disk 2>/dev/null || true
    	done
    
  4. 디스크가 깨끗한 상태이며 더 이상 파일 시스템 서명이 남아 있지 않은지 확인하십시오.

    	for disk in /dev/nvme{0..7}n1; do
    	  echo "=== $disk ==="
    	  blkid $disk 2>&1 || echo "Clean"
    	done
    

    출력 결과에서 각 디스크에 “Clean”이라고 표시되어야 하며, 이는 모든 파일 시스템 시그니처가 제거되었음을 의미합니다.

  5. 디버그 포드를 종료합니다.

    	exit
    	exit
    
  6. localvolumediscoveryresults 리소스 목록을 확인하여 업데이트하려는 노드의 항목을 찾으십시오.

    	kubectl get localvolumediscoveryresults -n openshift-local-storage
    

    출력 예

    	NAME                                                                      AGE
    	discovery-result-kube-d8g2ek0l0bd8e4oss13g-bhargavibmu-default-000003b3   5d
    	discovery-result-kube-d8g2ek0l0bd8e4oss13g-bhargavibmu-default-000004a1   5d
    
  7. 업데이트하려는 노드의 ‘ localvolumediscoveryresults ’ 리소스를 삭제하십시오. DISCOVERY_RESULT_NAME 을 이전 단계에서 확인한 이름으로 바꾸십시오.

    	kubectl delete localvolumediscoveryresults DISCOVERY_RESULT_NAME -n openshift-local-storage
    

    명령 예

    	kubectl delete localvolumediscoveryresults discovery-result-kube-d8g2ek0l0bd8e4oss13g-bhargavibmu-default-000003b3 -n openshift-local-storage
    

이 단계를 모두 마친 후, 다음 섹션으로 넘어가 워커 노드를 업데이트하십시오. 베어 메탈 노드가 재시작된 후, 새로운 영구 볼륨이 자동으로 생성되고 스케줄링됩니다.

워커 노드 업데이트

Major update Minor update Worker replace

  1. ibmcloud oc worker ls 명령을 사용하여 작업자 노드를 나열하고 이전 단계에서 사용자가 지정하고 드레인한 작업자 노드를 찾으십시오.

    	ibmcloud oc worker ls -c CLUSTER
    

    출력 예

    	ID                                                 Primary IP     Flavor     State    Status   Zone        Version
    	kube-c85ra07w091uv4nid9ug-vpcoc-default-000001c1   10.241.128.4   bx2.4x16   normal   Ready    us-east-3   4.8.29_1544_openshift*
    	kube-c85ra07w091uv4nid9ug-vpcoc-default-00000288   10.241.0.4     bx2.4x16   normal   Ready    us-east-1   4.8.29_1544_openshift*
    	kube-c85ra07w091uv4nid9ug-vpcoc-default-00000352   10.241.64.4    bx2.4x16   normal   Ready    us-east-2   4.8.29_1544_openshift*
    
  2. 워커 노드를 업데이트합니다. 베어 메탈 워커 노드의 경우 worker reload 명령을 사용합니다. 가상 서버 인스턴스(VSI) 워커 노드의 경우 worker replace 명령을 사용합니다.

베어 메탈 워커 노드: worker reload 명령을 사용하여 워커 노드를 다시 로드합니다. 이 명령어는 VPC 베어 메탈 워커에서 지원됩니다. sh {: pre} ibmcloud oc worker reload --worker NODE_NAME VSI 워커 노드: Major update Minor update 워커 노드를 교체하고 최신 패치 업데이트를 적용하는 명령어 예시. sh {: pre} ibmcloud oc worker replace -c CLUSTER --worker NODE_NAME --update VSI 워커 노드: Worker replace 최신 패치 업데이트를 적용하지 않고 워커 노드를 교체하는 명령어 예시. sh {: pre} ibmcloud oc worker replace -c CLUSTER --worker NODE_NAME VSI 워커 노드 교체를 위한 출력 예시입니다: sh {: screen} The replacement worker node is created in the same zone with the same flavor, but gets new public or private IP addresses. During the replacement, all pods might be rescheduled onto other worker nodes and data is deleted if not stored outside the pod. To avoid downtime, ensure that you have enough worker nodes to handle your workload while the selected worker nodes are being replaced. Replace worker node kube-c85ra07w091uv4nid9ug-cluster-default-00000288? [y/N]> y Deleting worker node kube-c85ra07w091uv4nid9ug-cluster-default-00000288 and creating a new worker node in cluster

  1. 워커 노드가 다시 로드되거나 교체될 때까지 기다린 다음 워커 노드를 나열합니다. 이 프로세스에는 20분 이상이 소요될 수 있습니다.

    	oc get nodes
    

    출력 예

    	NAME           STATUS   ROLES           AGE   VERSION
    	10.241.0.4     Ready    master,worker   22d   v1.21.6+bb8d50a
    	10.241.128.4   Ready    master,worker   22d   v1.21.6+bb8d50a
    	10.241.64.4    Ready    master,worker   22d   v1.21.6+bb8d50a
    

이전 노드에서 자원 정리

Major update Minor update Worker replace

노드가 클러스터에 다시 가입하면, Rook-Ceph 오퍼레이터가 rook-ceph-mon, rook-ceph-osd 및 crashcollector 배포를 자동으로 다시 확장합니다. 계속하기 전에 ODF 포드가 실행 중인지 확인하십시오.

  1. 앞서 축소되었던 rook-ceph-mon 및 rook-ceph-osd 포드가 업데이트된 노드에서 다시 Running 상태로 돌아왔는지 확인하십시오. NODE_NAME 을 업데이트하거나 교체된 노드의 이름으로 바꾸십시오.

    	oc get pods -n openshift-storage -o wide | grep NODE_NAME
    

    출력 결과에 ‘ rook-ceph-mon ’ 및 ‘ rook-ceph-osd ’ 포드가 ‘ Running ’ 상태로 표시되는지 확인하십시오. 아직 포드가 누락되었거나 ‘ Running ’ 상태가 아닌 경우, 몇 분 정도 기다린 후 명령어를 다시 실행한 다음 다음 단계로 진행하십시오.

  2. 교체된 노드에서 OSD 포드가 ‘ Running ’ 상태로 정상 가동되었는지 확인하십시오. NODE_NAME 을 새 대체 노드의 이름으로 바꾸십시오.

    	oc get pods -n openshift-storage -o wide | grep NODE_NAME | grep osd
    

    포드가 실행 중이라면 OcsCluster 리소스를 새로운 노드로 업데이트합니다 로 이동하십시오. 포드가 오류가 발생한 경우, 다음 단계를 수행하십시오. Running 로 설정되지 않은 OSD 포드가 두 개 이상인 경우, 작업을 중지하고 지원팀에 문의하십시오. 지원 케이스 열기 케이스 세부 정보에 관련 로그 파일, 오류 메시지 또는 명령 출력을 모두 포함해야 합니다.

  3. openshift-storage 프로젝트로 이동하십시오.

    	oc project openshift-storage
    
  4. 클러스터에서 실패한 OSD를 제거하십시오. 필요한 경우 실패한 OSD를 여러 개 지정할 수 있습니다.

    	oc process -n openshift-storage ocs-osd-removal -p FAILED_OSD_IDS=<failed_osd_id> -p FORCE_OSD_REMOVAL=true | oc create -f -
    

    FAILED_osd_id 값은 rook-ceph-osd 접두부 바로 뒤에 있는 팟 (Pod) 이름의 정수입니다. OSD가 세 개만 있는 클러스터 또는 OSD가 제거된 후 데이터의 세 복제본을 모두 복원하기에 공간이 충분하지 않은 클러스터에서 FORCE_OSD_REMOVAL 값을 true 로 변경해야 합니다.

  5. ocs-osd-removal-job 팟 (Pod) 의 상태를 확인하여 OSD가 제거되었는지 확인하십시오.

    	oc get pod -l job-name=ocs-osd-removal-job -n openshift-storage
    
  6. OSD 제거가 완료되었는지 확인하십시오.

    	oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'
    

    출력 예

    	2023-03-10 06:50:04.501511 I | cephosd: completed removal of OSD 0
    
  7. 베어 메탈 워커 노드에만 해당: OSD가 제거된 후, ‘ Released ’ 상태이며 ‘ localblock ’ 스토리지 클래스와 연결된 모든 영구 볼륨(PV)을 확인하십시오. OSD를 제거하면 해당 PV가 ‘ Released ’ 상태로 전환되므로, 이 단계는 OSD를 제거한 후에 완료해야 합니다.

    	oc get pv -L kubernetes.io/hostname | grep localblock | grep Released
    

    출력 예

    	local-pv-d6bf175b  1490Gi  RWO  Delete  Released  openshift-storage/ocs-deviceset-0-data-0-6c5pw  localblock  2d22h  compute-1
    
  8. 베어 메탈 워커 노드에만 해당: ‘ Released ’ 상태인 PV가 있으면 이를 삭제하십시오. PERSISTENT_VOLUME 을 이전 단계에서 확인한 PV의 이름으로 바꾸십시오.

    	oc delete pv PERSISTENT_VOLUME
    

    명령 예

    	oc delete pv local-pv-d6bf175b
    

    출력 예

    	persistentvolume "local-pv-d6bf175b" deleted
    

OcsCluster 리소스를 새로운 노드로 업데이트합니다

다음 단계로 진행하기 전에, 클러스터 내의 다음 노드로 넘어가기 전에 이 스토리지 노드에 대한 이전 단계를 모두 완료했는지 확인하십시오.

Major update Minor update Worker replace

  1. 설치 중에 노드 이름을 지정하여 ODF 배치를 작업자 노드의 서브세트로 제한한 경우 새 이름을 포함하도록 ocscluster CRD를 업데이트해야 합니다. 모든 워커 노드에 ODF를 적용하고 배포 대상을 일부 노드로만 제한하지 않았다면, 이 단계를 건너뛰고 ‘ OpenShift Data Foundation’ 애드온 업데이트로 진행하십시오.

    구성을 특정 워커 노드로만 제한하지 않았다면 ocscluster CRD를 업데이트할 필요가 없습니다.

    	oc edit ocscluster
    
    	apiVersion: ocs.ibm.io/v1
    	kind: OcsCluster
    	metadata:
    	name: ocscluster-auto
    	spec:
    	. . .
    	osdSize: 250Gi
    	osdStorageClassName: ibmc-vpc-block-metro-10iops-tier
    	workerNodes:
    	- NODE-NAME # Example 10.248.128.42
    	- NODE-NAME
    	- NODE-NAME
    
  2. OpenShift Data Foundation 팟(Pod)이 새 작업자에 배치될 때까지 기다리십시오. 새 지속적 볼륨이 작성되었으며 모든 팟 (Pod) 이 Running 상태인지 확인하십시오.

    	oc get pv
    	oc get ocscluster
    	oc get pods -n openshift-storage
    
  3. 기타 모든 필수 OpenShift Data Foundation팟 (Pod) 이 실행 중 상태인지 확인하십시오.

    	oc get pod -n openshift-storage | grep mon
    

    출력 예:

    	rook-ceph-mon-a-cd575c89b-b6k66         2/2     Running
    	0          38m
    	rook-ceph-mon-b-6776bc469b-tzzt8        2/2     Running
    	0          38m
    	rook-ceph-mon-d-5ff5d488b5-7v8xh        2/2     Running
    	0          4m8s
    
  4. 교체 노드에서 새 OSD 파드가 실행 중인지 확인합니다.

    	oc get pods -o wide -n openshift-storage| egrep -i NEW_NODE_NAME | egrep osd
    

OpenShift Data Foundation 추가 기능 업데이트

Major update

  1. 기존 버전을 확인하십시오.

    	ibmcloud oc cluster addon ls --cluster CLUSTER
    
  2. 추가 기능을 업데이트하십시오.

    	ibmcloud oc cluster addon update openshift-data-foundation --cluster CLUSTER --version VERSION
    
  3. 애드온이 최신 버전으로 업데이트되었는지 확인하십시오.

    	ibmcloud oc cluster addon ls --cluster CLUSTER
    

클러스터 리소스 업데이트

Major update

  1. ocscluster 리소스의 이름을 가져옵니다.

    	oc get ocscluster
    

    출력 예

    	NAME             AGE
    	ocscluster-vpc   19d
    
  2. ocscluster 리소스를 편집하려면 다음 명령어를 실행하십시오.

    	oc edit ocscluster OCS-CLUSTER-NAME
    
  3. ocsUpgrade 매개변수를 true 로 설정하십시오.

    	...
    	spec:
    		billingType: hourly
    	monSize: 20Gi
    	monStorageClassName: ibmc-vpc-block-10iops-tier
    	numOfOsd: 1
    	ocsUpgrade: true
    	osdSize: 250Gi
    	osdStorageClassName: ibmc-vpc-block-10iops-tier
    	status:
    		storageClusterStatus: Decreasing the capacity not allowed
    
  4. 파일을 저장한 후 닫으십시오.

  5. 업데이트가 완료될 때까지 기다려 주세요.

  6. storagecluster 및 cephcluster 자원이 모두 올바르게 배치되었는지 확인하십시오.

    	oc get storagecluster -n openshift-storage
    

    출력 예.

    	NAME                 AGE   PHASE   EXTERNAL   CREATED AT             VERSION
    	ocs-storagecluster   43h   Ready              2023-06-21T09:22:00Z   4.11.0
    
    	oc get cephcluster -n openshift-storage
    

    출력 예.

    	NAME                             DATADIRHOSTPATH   MONCOUNT   AGE   PHASE   MESSAGE                        HEALTH      EXTERNAL
    	ocs-storagecluster-cephcluster   /var/lib/rook     3          43h   Ready   Cluster created successfully   HEALTH_OK
    
    	oc get csv -n openshift-storage
    

    출력 예.

    	NAME                              DISPLAY                       VERSION   REPLACES                          PHASE
    	mcg-operator.v4.11.8              NooBaa Operator               4.11.8    mcg-operator.v4.11.7              Succeeded
    	ocs-operator.v4.11.8              OpenShift Container Storage   4.11.8    ocs-operator.v4.11.7              Succeeded
    	odf-csi-addons-operator.v4.11.8   CSI Addons                    4.11.8    odf-csi-addons-operator.v4.11.7   Succeeded
    	odf-operator.v4.11.8              OpenShift Data Foundation     4.11.8    odf-operator.v4.11.7              Succeeded