1. Pod(파드)라는 것부터
쿠버네티스에서 Pod = 실행 단위야.
- 컨테이너(Docker 같은 거)를 1개 이상 묶어서 실행하는 “작은 서버” 같은 개념.
- 대부분은 Pod 안에 컨테이너 1개만 있어 → 앱 하나만 띄우는 식.
- 하지만 경우에 따라선 컨테이너 여러 개를 하나의 Pod에 넣을 수 있어.
왜냐하면 Pod 안의 컨테이너들은:
- 같은 IP/포트 공간을 공유 → 서로
localhost로 통신 가능. - 같은 스토리지 볼륨을 공유 → 파일을 주고받을 수 있음.
2. 메인 컨테이너 vs 보조 컨테이너
- 보통 Pod에 들어가는 주된 앱이 있음 → 예를 들어 Nginx 웹서버.
- 그런데 Nginx만 있으면 부족할 때가 있음 → 로그를 따로 수집하고 싶다거나, 설정 파일을 자동으로 갱신하고 싶다거나.
- 이럴 때 보조 컨테이너를 같은 Pod 안에 넣어 두면 좋아.
3. 사이드카(Sidecar)의 의미
- 오토바이 옆에 붙어 있는 보조석(사이드카)에서 따온 말.
- 쿠버네티스에서 사이드카 컨테이너 = 메인 컨테이너를 보조하는 컨테이너.
- 혼자서 동작하는 게 아니라, 메인 앱과 함께 붙어서 동작.
4. 아주 쉬운 예시
- 메인 컨테이너: Nginx (웹페이지를 서비스)
- 사이드카 컨테이너: 작은 Alpine 리눅스 → ConfigMap 내용을 계속 읽어서
index.html파일로 써줌. - 둘은 공유 볼륨을 사용.
흐름은 이렇게 돼:
- 사이드카가 ConfigMap 값(예: “색상은 빨강”)을
/pod-data/index.html에 씀. - Nginx는 그 파일을 그대로
/usr/share/nginx/html/index.html에서 서비스. - ConfigMap이 바뀌면 사이드카가 다시 파일을 써주고, Nginx는 최신 값을 보여줌.
5. 현실에서 자주 쓰는 사이드카
- 로그 수집기: 앱 로그 파일을 Fluentd 사이드카가 모아서 로그 서버로 전송.
- 프록시: 앱 앞단에 Envoy/Istio 사이드카를 붙여서 보안·트래픽 제어.
- 동기화 에이전트: 깃 리포지토리 내용을 주기적으로 가져와서 앱이 바로 쓰도록 유지.

Comments
💬 Sign in with GitHub to leave a comment. Comments are public and stored in GitHub Discussions.