RBLN NPU Operator 업그레이드¶
설치 방식에 맞춰 Helm 또는 OLM으로 업그레이드합니다. 드라이버 교체 방법은 NPU 드라이버 업그레이드에서 다룹니다.
업그레이드 전 확인¶
지원 버전과 변경사항을 확인하고 기존에 배포된 설정을 백업합니다.
Helm 설치에서는 기존 사용자 설정과 대상 차트의 기본값을 비교합니다.
Helm 업그레이드¶
기존 릴리스 이름과 네임스페이스를 사용해야 합니다. NPU Operator의 Helm 설정을 참고하여 npu-values.yaml에 오버라이드할 값을 지정합니다.
OpenShift / OLM 업그레이드¶
OLM은 Subscription이 구독하는 채널에서 새 버전을 감지하면 업그레이드 경로에 따라 InstallPlan을 생성합니다.
현재 버전과 업그레이드 대상 버전, 승인 방식을 확인합니다.
Subscription의 status.installedCSV는 현재 버전, status.currentCSV는 OLM이 선택한 버전입니다. status.installPlanRef.name에서 이 Subscription의 InstallPlan 이름을 확인할 수 있습니다.
InstallPlan이 생성되면 spec.installPlanApproval에 따라 업그레이드를 진행합니다.
installPlanApproval | 업그레이드 방식 |
|---|---|
Automatic | InstallPlan을 자동 승인하고 업그레이드 |
Manual | 사용자가 InstallPlan을 승인하면 업그레이드 |
Manual이면 Subscription에서 확인한 InstallPlan을 조회하고 대상 버전을 확인한 뒤 승인합니다.
업그레이드 확인¶
Helm 또는 OLM의 완료 상태와 별도로 RBLNDriver 인스턴스와 RBLNClusterPolicy 인스턴스의 상태를 확인합니다.
$ kubectl wait --for=jsonpath='{.status.state}'=ready \
rblndriver --all --timeout=600s
rblndriver.rebellions.ai/rbln-driver-rebel100 condition met
$ kubectl wait --for=jsonpath='{.status.state}'=ready \
rblnclusterpolicy/rbln-cluster-policy --timeout=600s
rblnclusterpolicy.rebellions.ai/rbln-cluster-policy condition met
$ kubectl get rblnclusterpolicy rbln-cluster-policy \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state'
NAME STATE
rbln-cluster-policy ready
$ kubectl wait --for=jsonpath='{.status.state}'=ready \
rblndriver --all --timeout=600s
rblndriver.rebellions.ai/rbln-driver-atom condition met
$ kubectl wait --for=jsonpath='{.status.state}'=ready \
rblnclusterpolicy/rbln-cluster-policy --timeout=600s
rblnclusterpolicy.rebellions.ai/rbln-cluster-policy condition met
$ kubectl get rblnclusterpolicy rbln-cluster-policy \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state'
NAME STATE
rbln-cluster-policy ready
모든 대상 리소스가 ready이고 필요한 Pod가 준비되었는지 확인합니다.