일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Clone
- property
- bash
- vue.js
- security
- var
- condition
- VUE
- npm
- loop
- vuetify
- C#
- generic
- 앙상블
- Python
- type
- leetcode
- C++
- JavaScript
- docker
- nginx
- machine learning
- webpack
- TypeScript
- git
- AI
- 보안
- scss
- BOJ
- dotenv
Archives
- Today
- Total
ice rabbit programming
[K8S] Pod 내부에서 Sidecar Container 사용하기 본문
728x90
K8S가 배포된 환경에서 Pod의 네트워크 탐지/분석 등 디버깅이나 추가적인 작업이 필요한 경우가 있다.
기본적으로 Pod Container 내부에서는 관련 기능/툴이 제공되지 않는데, 이럴 때 Pod 내부에 sidecar 컨테이너를 띄워서 원하는 작업을 할 수 있다.
deploy.yaml에 pod 정보를 다음과 같이 추가한다. 어려운 부분은 없고 단순히 추가만 하면 된다.
# ...
spec:
containers:
- name: main-container
image: {my-url}
# ...
# 아래에 sidecar container 정보를 추가한다.
- name: side-container
image: {my-url2}
resources:
# ...
# ...
이후에 kubectl apply -f deploy.yaml과 같이 위 설정을 적용하면, Pod에 컨테이너가 하나 더 실행됨을 확인할 수 있다.
확인 후, kubectl exec -it <pod_name> -n <container_name> -- bash 명령어를 통해 진입할 수 있는데, side-container로 진입하면 해당 container 내에 설치된 툴/기능들을 실행할 수 있다.
(container_name을 지정해 주지 않으면 내부 진입이 되지 않으므로, main-container 진입을 원할 경우에도 명시해줘야 한다.)
Pod 내부 트래픽 등에 접근할 수 있기 때문에, 디버깅에 용이하다. 아직 본인은 다른 용도로는 사용해보지 않았고, 디버깅 용도로 주로 사용했다.
728x90