Files

25 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 방향에 따라 갈리는 업그레이드
## Alternative text
앞으로 가는 경로는 무중단이고 뒤로 가는 경로는 Liquibase 검증에서 막히는 구성. 롤링 업데이트가 그 사고를 절반에서 멈춘다.
## Long description
26.7.0 에서 26.7.3 으로 올리는 것은 무중단이었고 87회 요청이 전부 200 이었다. 되돌리기는 Liquibase 가 체크섬 검증에서 막았다. 새 버전이 남긴 체크섬을 옛 버전이 거부하기 때문이다. 그런데 서비스는 살아 있었다. StatefulSet 롤링 업데이트가 첫 파드에서 멈추고 나머지를 건드리지 않았기 때문이다. 롤백 불가는 조건부이며 판단 기준은 databasechangelog 의 행 수가 업그레이드 전후로 같은가이다.
## Elements and evidence
- **옛 버전 롤백** (process): 이미지 태그를 옛 버전으로 되돌린다. Evidence: L483L490.
- **Liquibase 검증** (process): 새 버전이 남긴 체크섬을 거부한다. Evidence: L483L491.
- **StatefulSet 롤링 업데이트** (process): 첫 파드가 실패하면 거기서 멈춘다. Evidence: L492L497.
- **외부 서비스** (service): 남은 파드가 계속 200 을 낸다. Evidence: L492L498.
- **databasechangelog 행 수** (datastore): 전후로 같으면 롤백된다. Evidence: L499L505.
## Relationships
- **Liquibase 검증 → databasechangelog 행 수:** 판단 기준. Evidence: L499L505.
- **Liquibase 검증 → StatefulSet 롤링 업데이트:** 중단 지점. Evidence: L492L497.
- **옛 버전 롤백 → Liquibase 검증:** 기동 시 검증. Evidence: L483L491.
- **StatefulSet 롤링 업데이트 → 외부 서비스:** 잔여 파드 응답. Evidence: L492L498.