이 글은 Kubernetes native sidecar container에 대해 간단히 설명합니다.
native sidecar container란?
native sidecar container는 sidecar container를 initContainer로 실행하는 기능입니다. Kubernetes 1.33에서 GA가 되었습니다. restartPolicy: Always가 붙은 init container는 기존 init container와 다르게 종료되지 않고 계속 실행됩니다. 그리고 main container가 모두 종료된 뒤에 종료됩니다.
initContainers:
- name: istio-proxy
restartPolicy: Always

왜 initContainer로 sidecar를 실행하는 기능이 나왔을까?
sidecar container는 main container의 기능을 확장하기 위해 실행하는 추가 컨테이너로 사용되었는데, sidecar는 Kubernetes가 지원하는 native 기능이 아니어서 불편한 점들이 있었습니다.
대표적인 예가 라이프사이클입니다. 예를 들어 Istio sidecar proxy container는 main container보다 먼저 실행되고 main container보다 나중에 종료되어야 합니다. 하지만 sidecar container는 containers 중 하나이기 때문에 라이프사이클을 의도한 대로 제어할 수 없었고, Istio는 여러 가지 우회 방법으로 라이프사이클 문제를 해결했습니다.
containers:
- name: app
image: my-app:1.0
ports:
- containerPort: 8080
- name: istio-proxy
image: docker.io/istio/proxyv2:1.26.0
args:
- proxy
- sidecar
initContainer는 main container보다 먼저 실행되고 main container보다 늦게 종료되기 때문에 라이프사이클을 명확히 관리할 수 있습니다.

initContainer는 Kubernetes native 기능이기 때문에 Kubernetes 블로그에서도 native sidecar container로 소개되었습니다.
- https://kubernetes.io/blog/2023/08/25/native-sidecar-containers/
native 기능으로 sidecar를 설정할 수 있게 되자 많은 오픈소스가 발 빠르게 initContainer를 적용하기 시작했습니다. 대표적으로 Istio는 1.27 이상부터 sidecar container를 initContainer로 실행합니다.
참고자료
- https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/
- https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/753-sidecar-containers/README.md
- https://kubernetes.io/blog/2023/08/25/native-sidecar-containers/
- https://istio.io/latest/blog/2023/native-sidecars/
- https://istio.io/latest/news/releases/1.27.x/announcing-1.27/change-notes/
- https://github.com/istio/istio/issues/57587
'전공영역 공부 기록' 카테고리의 다른 글
| AI Gateway 토큰 집계가 Model provider과 다른 이유 (0) | 2026.09.20 |
|---|---|
| IP 기반 아웃바운드 방화벽에서 AWS 서비스 호출하는 방법 (1) | 2026.09.06 |
| vLLM 처리량 설정 옵션 - max_num_seqs(batch size) (0) | 2026.08.30 |
| vLLM KV Cache pool 크기는 무엇으로 결정될까? (0) | 2026.08.30 |
| AI모델 로딩과 서빙에 필요한 VRAM은 다릅니다 (0) | 2026.08.30 |