Files
obsidian/history/2026-05-07-longhorn-1-11-2-upgrade.md

92 lines
3.5 KiB
Markdown

---
date: 2026-05-07
topic: Longhorn 1.11.1 → 1.11.2 patch upgrade
areas: [infra/platform/longhorn]
---
# 2026-05-07 / Longhorn 1.11.1 → 1.11.2 업그레이드
## 동기
v1.11.2 GA (2026-05-05 06:11 UTC, [release notes](https://github.com/longhorn/longhorn/releases/tag/v1.11.2)) 백포트 [#12856](https://github.com/longhorn/longhorn/issues/12856) 적용 — `snapshot becomes not ready to use` Warning 회귀 fix. 2026-05-02 도입한 임시 cron `longhorn-snapshot-purge` 가 릴리스 직전까지 운영 안전망 역할을 했고, 이번 업그레이드로 정식 fix 적용.
## 사전 점검
- 4 노드 Ready (kr2 도 회복 — 5월 4일 leewell 인시던트 이후 정상 복구)
- 25 volumes attached/healthy
- backup target available, last sync 5분 전 (강제 backup 트리거 불필요)
- helm rev 5, chart longhorn-1.11.1, app v1.11.1
- helm chart 1.11.2 가용
- breaking change 없음 (release notes 검토)
## 업그레이드 단계
### 1) helm upgrade
```
helm upgrade longhorn longhorn/longhorn -n longhorn-system \
--version 1.11.2 --reset-then-reuse-values
→ NAMESPACE: longhorn-system STATUS: deployed REVISION: 6
```
values 그대로 (defaultSettings: nodeDownPodDeletionPolicy / nodeDrainPolicy / replicaAutoBalance).
### 2) longhorn-manager DS 롤링
```
Waiting for daemon set "longhorn-manager" rollout to finish: 2 of 4 updated pods are available...
Waiting for daemon set "longhorn-manager" rollout to finish: 3 of 4 updated pods are available...
daemon set "longhorn-manager" successfully rolled out
```
4/4 pod 2 컨테이너 모두 Running, 25초 내 완료.
### 3) 신규 engine image 배포
```
ei-75a03ec3 deployed longhorn-engine:v1.11.1 refcount=125
ei-c9fa6d45 deploying longhorn-engine:v1.11.2 refcount=0
```
70초 후 신규 EI 4/4 deployed.
### 4) 모든 볼륨 live engine upgrade
```bash
NEW_IMG="docker.io/longhornio/longhorn-engine:v1.11.2"
for v in $(kubectl -n longhorn-system get volumes.longhorn.io --no-headers -o custom-columns=:.metadata.name); do
kubectl -n longhorn-system patch volume.longhorn.io $v --type=merge \
-p "{\"spec\":{\"image\":\"$NEW_IMG\"}}"
done
```
25 볼륨 모두 patched. 약 30초 내 전수 `status.currentImage` = `v1.11.2`, 25 볼륨 attached/healthy 유지.
## 사후 관측 (35분)
업그레이드 직후 baseline 시각 (`2026-05-06T22:37:42Z`) 이후의 Warning 만 카운트:
```
T+1m ~ T+30m warn_after_baseline=0 stuck_snap_CR=0 vol_unhealthy=0
T+22m (08:00 KST = 23:00 UTC) — critical-snapshot RecurringJob 정시 사이클 통과
```
- **stuck CR 즉시 0** — 업그레이드 직후 manager ownership reset 흐름 회복으로 12개 CR 자연 cleanup
- **신규 Warning 0건** — 23:00 UTC RecurringJob 사이클에서도 발생 안 함
- **볼륨 헬스 100% 유지** — engine upgrade 동안 단 한 건도 unhealthy 진입 없음
#12856 fix 가 즉시 효과 발휘.
## 후속
1. **임시 cron 회수 작업** (별건). ArgoCD `longhorn-snapshot-purge` Application 삭제, helm-charts repo 의 chart 디렉토리는 재현 시 재활용 위해 보존.
2. 구 EI `ei-75a03ec3` (v1.11.1) refcount 0 확인 후 manager 자동 정리 (기본 timeout ~10분).
3. 다음 출시 (v1.11.3 또는 v1.12.x) 까지 별다른 작업 없음. 이번 fix 가 backport 라 v1.12 에도 동일 fix 포함될 것.
## 산출물
- helm rev 5 → 6
- chart longhorn-1.11.1 → longhorn-1.11.2
- engine image v1.11.1 → v1.11.2 (25/25 볼륨)
- Outline `heimdall/2026-05-07 longhorn 1.11.2 업그레이드` 참조