[14] init 컨테이너를 포함한 Pod 운영

init 컨테이너에 대해 알아보기

docs에서 init container 검색

초기화 컨테이너

init 컨테이너란

초기화 컨테이너는 파드의 앱 컨테이너들이 실행되기 전에 실행되는 특수한 컨테이너이다.

이 init 컨테이너가 정상적으로 실행되야 main 컨테이너가 실행되고 실패할 경우 성공할때까지 재실행된다.

비슷한 경우로는 AWS의 user data같은거

Tip!

이 유형에 대한 문제는 CKA보다는 CKAD에서 더 자주 나오는 유형의 문제이다

❓Additional init container

실습

[user@console ~]$ vi /data/cka/webpod.yaml

apiVersion: v1
kind: Pod
metadata:
	name: web-pod
spec:
	containers:
	- image: busybox:1.28
		name: main
		command: ['sh', '-c', 'if [ !-f /workdir/data.txt ];then exit 1;else sleep 300;fi']
		volumeMounts:
		- name: workdir
			mountPath: "/workdir"
#여기까지 기존내용, 여기서부터
	initContainers:
	- name: init
		image: busybox:1.28
		command: ['sh', '-c', "touch /workdir/data.txt"]
		volumeMounts:
		- name: workdir
			mountPath: "/workdir"
#여기위까지 내용을 추가
	volumes:
	- name: workdir
		emptyDir: {}

:wq

[user@console ~]$ kubectl apply -f /data/cka/webpod.yaml

[user@console ~]$ kubectl get pods 
web-pod라는 이름의 pod가 실행됬는지 확인하기

기출문제 (40번)

Perform the following tasks: Add an init container to hungry-bear (which has been defined in spec file /opt/KUCC00108/pod-spec-KUC C00108.yaml )

The init container should create an empty file named /workdir/calm.txt If /workdir/calm.txt is not detected, the pod should exit.

Once the spec file has been updated with the init container definition, the pod should be created


Revision #1
Created 31 May 2023 00:07:05 by 와지
Updated 20 June 2023 13:20:12 by 와지