본문 바로가기
Q&A2026년 5월 5일1분 읽기

k8s 1.31 사이드카 GA 됐다는데 Istio 그대로 둬도 되나요?

이
이지현
조회 857댓글 4

안녕하세요, 사내 k8s 클러스터 1.30에서 1.31로 업그레이드 검토 중입니다. 사이드카 컨테이너가 GA 됐다고 하는데, 저희는 Istio 1.22를 쓰고 있고 OpenTelemetry Collector를 사이드카로 붙여 쓰고 있습니다. 1.31로 올리면 뭐가 자동으로 좋아지고 뭘 직접 바꿔야 하나요?

댓글 4

김김영삼5개월 전

좋은 시점입니다. 정리해드릴게요.

1.31에서 자동으로 좋아지는 것 (코드 변경 없음)
  • Job 종료 정상화: 기존엔 사이드카(Istio·OTel) 때문에 Job이 Completed 상태로 안 빠지던 문제 → 자동 해결
  • 시작 순서 보장: Istio sidecar가 ready 되기 전에 메인 컨테이너가 외부 호출하던 race condition → 해결
  • graceful shutdown: 메인 종료 후 sidecar에 SIGTERM 자동 전파 → 마지막 트레이스/로그 안 사라짐
꼭 손봐야 할 것
  • Istio: 1.24 이상으로 함께 업그레이드 권장. 1.22도 동작은 하지만 새 라이프사이클을 활용 못 합니다.
  • OTel Collector: otel-operator를 0.105+로 업그레이드하면 sidecar 모드를 자동으로 새 형식으로 주입합니다.
  • Pod manifest 직접 작성한 sidecar: containers에 있던 것을 initContainers로 옮기고 restartPolicy: Always 추가.
spec:
initContainers:
- name: otel-collector
image: otel/opentelemetry-collector-contrib
restartPolicy: Always # ← 새 모델, 사이드카로 동작
containers:
- name: app
image: my-app:1.0
업그레이드 체크리스트
  1. 1.30 노드 모두 확인 → 1.31 업그레이드 가능 확인
  2. 스테이징부터 진행 — Job·CronJob 회귀 테스트
  3. 사이드카 의존 도구(Istio·OTel·Vault·Datadog) 호환 버전 확인
  4. HPA 설정 영향 점검 — 사이드카 리소스도 합산
  5. 1주 모니터링 후 프로덕션 카나리
이이지현(guest)5개월 전
그러면 Datadog Agent도 새 버전으로 올려야 하나요? 저희는 클러스터 에이전트 + 노드 에이전트 + 사이드카 형태로 트레이스 받고 있어요.
김김영삼5개월 전

Datadog의 경우 사이드카 모드가 비교적 최근에 추가됐어요. 권장:

  • Datadog Agent 7.55+: 1.31 sidecar 라이프사이클 호환
  • cluster-agent 7.55+: kube-state-metrics 통합 강화
  • 설정에서 useSidecar: true로 명시하거나, Helm values에서 agents.useNewSidecarLifecycle: true
# Helm values.yaml
agents:
enabled: true
useNewSidecarLifecycle: true # 1.31+

clusterAgent:
replicas: 2

업그레이드 순서는 cluster-agent 먼저 → 노드 에이전트 → 사이드카 주입입니다. 거꾸로 하면 메트릭이 일시적으로 누락됩니다. 그리고 신규 라이프사이클로 바꾸면 Datadog 콘솔에서 Job/CronJob의 "incomplete" 알람이 사라지는 게 가장 체감이 큰 변화일 거예요.

류류지훈(guest)5개월 전
관리자님 답변이 항상 빠르고 정확해서 자주 옵니다.
Ctrl+Enter로 등록