- 사용자 정책: 컨테이너 이미지 tag는 :latest 유지가 디폴트 - 헤임달의 image.tag 고정 변경 및 본 history의 '교훈' 가이드 모두 정정 - 헤임달에 :latest 복귀 별도 위임
51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
---
|
|
date: 2026-05-29
|
|
topic: termix `:latest` → `release-2.3.1` 업그레이드 + image.tag 명시 고정
|
|
areas: [services, infra/k3s]
|
|
tags: [history, termix, k3s, argocd, helm, image-tag]
|
|
---
|
|
|
|
# 2026-05-29 / termix release-2.3.1 업그레이드
|
|
|
|
## 변경 요약
|
|
|
|
| 항목 | Before | After |
|
|
|---|---|---|
|
|
| Image tag | `:latest` (digest `577c0e`, 3d8h 전 pull) | **`release-2.3.1`** (digest `8db77c`) |
|
|
| Chart 버전 | 0.1.2 | **0.1.4** |
|
|
| `image.tag` 관리 | 미명시 (`:latest` 부유) | **chart values에 명시 고정** |
|
|
| ArgoCD 상태 | Synced/Healthy (구버전) | Synced/Healthy (신버전) |
|
|
| Pod | Running RESTARTS=0 | Running RESTARTS=0 |
|
|
| 헬스체크 | — | https://termix.inouter.com/ HTTP 200 |
|
|
|
|
배포 chart commit: `5d3b027`.
|
|
|
|
## 트러블슈팅 — ImagePullBackOff (1차 실패)
|
|
|
|
처음 시도 시 `image.tag: release-2.3.1-tag`로 작성 → `ImagePullBackOff`.
|
|
|
|
원인: GitHub release tag 이름과 Docker registry tag 이름이 다름.
|
|
- GitHub release: `release-2.3.1-tag`
|
|
- Docker registry tag: `release-2.3.1` (suffix `-tag` 없음)
|
|
|
|
수정: chart values의 `image.tag`에서 `-tag` suffix 제거 → 정상 pull.
|
|
|
|
## 정책 노트 — image.tag 명시 고정 ❌
|
|
|
|
이번에 chart values에 `image.tag: release-2.3.1`을 명시 고정했지만, **사용자 정책상 잘못된 변경**이다.
|
|
|
|
- 디폴트는 `:latest` 유지. 업그레이드는 pod 재시작 한 번으로 충분.
|
|
- 명시 고정은 (a) chart 매번 수정 + (b) tag 이름 매칭 (이번 `-tag` suffix처럼) 함정 + (c) 자동 갱신 차단 → 비용만 늘림.
|
|
- 사용자 정책: 명시 고정은 "이 버전이어야만 하는 명확한 이유"가 있을 때만. 단순 업그레이드 작업에서 임의로 도입하지 말 것.
|
|
- 처리: 헤임달에 `image.tag` 줄 제거 + `:latest` 복귀 작업 위임 (2026-05-29 동일자).
|
|
|
|
수행자 노트: kappa가 헤임달 변경 + 이 history의 초안 가이드("좋은 변경") 모두 사용자 정책 위배로 정정. 향후 헤임달 위임 시 본 정책을 명시 전달.
|
|
|
|
## 검증
|
|
|
|
- `kubectl get pod -n termix`: Running, RESTARTS=0
|
|
- ArgoCD: Synced, Healthy
|
|
- `curl -sI https://termix.inouter.com/`: HTTP/2 200
|
|
|
|
수행: [[../ops-agents/heimdall/_index|헤임달]] (소요 ~6분)
|