NPU 드라이버 업그레이드¶
컨테이너 드라이버를 사용하는 환경(driver.enabled: true)에서 노드별 NPU 드라이버를 업그레이드합니다. 수동·자동 업그레이드는 작업 내용은 같지만, 시작 방법과 uncordon 시점이 다릅니다.
버전 변경부터 완료 확인까지의 실행 절차는 드라이버 자동 업그레이드하기에 정리되어 있습니다.
업그레이드 라이프사이클¶
업그레이드할 노드에서 다음의 순서로 작업을 진행합니다.
- Cordon: 대상 노드에 새 Pod가 스케줄링되지 않도록 합니다. 이미 실행 중인 Pod는 이 단계에서 종료되지 않습니다.
- NPU Pod eviction: 드라이버를 사용하는 NPU Pod를 종료합니다. 종료를 막는 조건이 있으면 드라이버 교체가 보류됩니다.
- 드라이버 교체: 이전 드라이버를 제거하고 지정한 버전을 설치·로드합니다. 교체 중에는 해당 노드에서 NPU를 사용할 수 없습니다.
- 완료 확인: 새 드라이버 Pod가 Ready인지, 로드된 드라이버 버전이 지정한 버전과 일치하는지 확인합니다.
- Uncordon: 대상 노드에 새 Pod를 다시 스케줄링할 수 있도록 합니다. 수동 모드에서는 새 드라이버를 설치하기 전에 uncordon합니다.
수동과 자동의 차이¶
driver.upgradePolicy.autoUpgrade로 방식을 선택합니다. 기본값은 false입니다.
| 항목 | 수동 업그레이드 | 자동 업그레이드 |
|---|---|---|
| 시작 | 목표 버전을 적용한 뒤 관리자가 대상 노드의 드라이버 Pod를 삭제합니다. | 목표 버전을 적용하면 오퍼레이터가 업그레이드를 시작합니다. |
| Cordon과 eviction | 드라이버 Pod가 재생성된 뒤 진행합니다. | 드라이버 Pod를 교체하기 전에 진행합니다. |
| 작업 완료 대기 | 관리자가 실행 중인 작업을 확인하고 시작 시점을 정합니다. | waitForCompletion으로 지정한 Pod의 완료를 기다린 뒤 eviction합니다. |
| 드라이버 교체와 노드 복귀 | 이전 드라이버 제거 → uncordon → 새 드라이버 설치 → 완료 확인 | 드라이버 교체 → 검증 → uncordon |
| 여러 노드 진행 | 관리자가 적용할 노드와 순서를 정합니다. | maxParallelUpgrades로 동시에 진행할 노드 수를 제한합니다. |
수동 모드에서는 업그레이드가 끝나면 새 드라이버 Pod와 드라이버 버전을 확인한 뒤 워크로드를 재개해야 합니다.