3. init container를 적용한 Pod
1. init container
- 앱 컨테이너 실행 전에 미리 동작시킬 컨테이너
- 본 Container가 실행되기 전에 사전 작업이 필요할 경우 사용
- 초기화 컨테이너가 모두 실행된 후에 앱 컨테이너를 실행
- https://kubernetes.io/ko/docs/concepts/workloads/pods/init-containers/
- 위 문서의 example을 사용하여 init container를 생성할 수 있다.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox:1.28
command: ['sh', '-c', 'echo The app is running! && sleep 3600']
initContainers:
- name: init-myservice
image: busybox:1.28
command: ['sh', '-c', "until nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for myservice; sleep 2; done"]
- name: init-mydb
image: busybox:1.28
command: ['sh', '-c', "until nslookup mydb.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local; do echo waiting for mydb; sleep 2; done"]
2. infra container(pause)
- pod의 환경을 만들어주는 컨테이너
- 파드를 생성했을 때 자동으로 생성됨
controlplane $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fcb01ebcacc3 67da37a9a360 "/coredns -conf /etc…" 3 seconds ago Up 2 seconds k8s_coredns_coredns-66bff467f8-8smxh_kube-system_7faf42b3-65cc-4a8a-a388-8992ef4e3e34_0
5fd877af3f78 k8s.gcr.io/pause:3.2 "/pause" 4 seconds ago Up 3 seconds k8s_POD_coredns-66bff467f8-8smxh_kube-system_7faf42b3-65cc-4a8a-a388-8992ef4e3e34_0
c2e2e253eef2 4e9f801d2217 "/opt/bin/flanneld -…" 10 seconds ago Up 9 seconds k8s_kube-flannel_kube-flannel-ds-amd64-6bc8d_kube-system_876910e6-6dd6-41aa-80f7-5941f7491ad8_0
b51633284dca 43940c34f24f "/usr/local/bin/kube…" 14 seconds ago Up 13 seconds k8s_kube-proxy_kube-proxy-4n57r_kube-system_9f3492b9-0c5d-415f-8e35-4eb12f4a3546_0
ef559a607e61 k8s.gcr.io/pause:3.2 "/pause" 15 seconds ago Up 14 seconds k8s_POD_kube-flannel-ds-amd64-6bc8d_kube-system_876910e6-6dd6-41aa-80f7-5941f7491ad8_0
➜ webserver 파드를 실행했을 때 컨테이너 상태
Reference
'Cloud > Kubernetes' 카테고리의 다른 글
[Kubernetes] Pod의 환경변수 설정하기 (0) | 2021.12.10 |
---|---|
[Kubernetes] Kubernetes Pod | static Pod (0) | 2021.12.10 |
[Kubernetes] Kubernetes Pod | livenessProbe (0) | 2021.12.09 |
[Kubernetes] Kubernetes pod | pod 생성, 관리 (0) | 2021.12.08 |
[Kubernetes] 쿠버네티스 아키텍쳐 | yaml, API (0) | 2021.12.07 |