Liveness probe ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ํ๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ ๋ฆฌ์์ค๋ค์ ์์๋ณด์
์ปจํ ์ด๋์ ์ฃผ ํ๋ก์ธ์ค์ crash๊ฐ ๋ฐ์ํ๋ค๋ฉด kubelet์ด ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ๋ค. ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์๋์ผ๋ก ๋ค์ ์์ํ๊ธฐ ๋๋ฌธ์ ์ดํ๋ฆฌ์ผ์ด์ ์์ฒด์ ํน๋ณํ ์์ ์ ํ์ง ์์๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ์คํ ์ค์ธ ์ดํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ๋ณต๊ตฌํ ์ ์๋ค.
ํ์ง๋ง ์ดํ๋ฆฌ์ผ์ด์ ์ด ๋ฌดํ ๋ฃจํ๋ ๊ต์ฐฉ ์ํ์ ๋น ์ ธ ์๋ต์ ๋ฉ์ถ๋ ์ํฉ์๋ ์ด๋จ๊น? Crash ๊ฐ์ ๊ฒฝ์ฐ์๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ๋ก ์ข ๋ฃ๋์ง๋ง ๋ฌดํ๋ฃจํ๋ ๊ต์ฐฉ ์ํ๋ผ๋ฉด ์๋ฌด๋ ์ ์๊ฐ ์๋ค. ๊ทธ๋์ k8s์์๋ ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๋ฅผ ์ฌ์ฉํด ์ปจํ ์ด๋๊ฐ ์ด์์๋ ์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
Liveness Probe
๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๋ฅผ ์ง์ ํด k8s๊ฐ ๋ ์ด์ ์ ์์ ์ด์ง ๋ชปํ ๊ฒฝ์ฐ ์ฆ์ ์ปจํ ์ด๋๋ฅผ ์ฌ์์ํ๊ฒ ํ ์ ์๋ค.
๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๋ฅผ ํตํด ์ปจํ ์ด๋๊ฐ ์์ง ์ด์์๋์ง ํ์ธํ ์ ์๋ค. k8s๋ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฒ์ฌ๋ฅผ ์คํํ๊ณ ๊ฒ์ฌ๊ฐ ์คํจํ ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ๋ค.
์ปจํ ์ด๋ ์ง๋จ์ ์ปจํ ์ด๋๊ฐ ๊ตฌํํ ํธ๋ค๋ฌ๋ฅผ kubelet์ด ํธ์ถํด์ ์คํํ๋ค.
์ด์ ํ๊ฒฝ์์ ์คํ ์ค์ธ ํ๋์ ๊ฒฝ์ฐ, ํญ์ ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๋ฅผ ์ ์ํด์ผ ํ๋ค. ์ ์๋์ด ์์ง ์์ผ๋ฉด k8s๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด ์์ง ์ด์ ์๋์ง ์ฌ๋ถ๋ฅผ ์ ์ ์๋ค.
k8์๋ 3๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๊ฐ ์๋ค.
HTTP Request
HTTP GET ํ๋ก๋ธ๋ ์ง์ ํ IP ์ฃผ์, ํฌํธ, ๊ฒฝ๋ก์ HTTP GET ์์ฒญ์ ์ํํ๋ค. ์๋ต์ด ์ค๋ฅ๋ฅผ ๋ํ๋ด๋ฉด ํ๋ก๋ธ๋ ์คํจ๋ก ๊ฐ์ฃผํ๊ณ ์ปจํ ์ด๋๋ฅผ ์ฌ์์ํ๋ค.
|
|
์ ์๋ ํ๋ก๋ธ๋ k8s์๊ฒ ์ปจํ ์ด๋๊ฐ ์ฌ์ ํ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ์ฒดํฌํ๊ธฐ ์ํด ‘/healthz’ ๊ฒฝ๋ก์ ํฌํธ 8080 HTTP GET ์์ฒญ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ํํ๋๋ก ์๋ ค์ค๋ค. ์ปจํ ์ด๋ ๋ด์์ ์คํ ์ค์ธ ์น์๋ฒ๊ฐ HTTP ์์ฒญ์ ์๋ตํ์ง ์์ผ๋ฉด ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ๋ค.
๋์ ์ค์ธ ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ ๋ณด๊ธฐ
kubectl describe
์ปค๋งจ๋๋ฅผ ์ด์ฉํด ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๋ฅผ ํ์ธํ ์ ์๋ค.
State
๋ฅผ ํตํด ์ปจํ
์ด๋์ ์ํ๋ฅผ ํ์ธํ ์ ์์ผ๋ฉฐ Last State
๋ ์ง๋ ์ปจํ
์ด๋์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค. ์ง๋ ์ปจํ
์ด๋๊ฐ ์๋ ์ด์ ๋ ์ปจํ
์ด๋๊ฐ ๋ฌธ์ ๊ฐ ์๊ฒจ ๊ฐ์ ์ข
๋ฃํ๊ณ ๋ค์ ์์ฑํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ํ Liveness
๋ฅผ ํตํด ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค. ์ปจํ
์ด๋๊ฐ ์คํ๋๊ณ 3์ด(delay) ์ดํ ํ๋ก๋ธ๋ฅผ ์์ํ๋ฉฐ ์์ฒญ์ 1์ด(timeout) ์ด๋ด์ ์๋ต์ ํด์ผ ํ๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์คํจํ๋ค. 3์ด ๋ง๋ค(period) HTTP GET ์์ฒญ์ ํ๋ฉฐ ์ฐ์์ผ๋ก 3๋ฒ ์คํจ(failure)ํ๋ฉด kubelet์ด ํด๋น ์ปจํ
์ด๋๋ฅผ ์ฌ์์์ํจ๋ค.
TCP Socket
์ปจํ ์ด๋์ ์ง์ ๋ ํฌํธ์ TCP๋ฅผ ์ฐ๊ฒฐํ๋ ค๊ณ ์๋ํ๋ค. ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋๋ฉด ํ๋ก๋ธ๊ฐ ์ฑ๊ณตํ ๊ฒ์ด๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ปจํ ์ด๋๊ฐ ์ฌ์์ํ๋ค.
|
|
TCP Socket์ ํตํ ํ๋ก๋ธ๋ HTTP Request ํ๋ก๋ธ์ ๋น์ทํ๋ค.
Exec Command
์ปจํ ์ด๋ ๋ด๋ถ์ ์์์ ๋ช ๋ น์ ์คํํ๊ณ ๋ช ๋ น์ ์ข ๋ฃ ์ํ ์ฝ๋๋ฅผ ํ์ธํ๋ค. ์ํ ์ฝ๋๊ฐ 0์ด๋ฉด ๊ฒ์ฌ๊ฐ ์ฑ๊ณตํ ๊ฒ์ด๊ณ , ๋ค๋ฅธ ๋ชจ๋ ์ฝ๋๋ ์ค๋ฅ๋ก ๊ฐ์ฃผ๋๋ค.
|
|
kubelet์ด initialDelaySeconds, periodSeconds๋ฅผ ๊ณ ๋ คํด cat /tmp/healthy
๋ช
๋ น์ด๋ฅผ ์ํํ๋ค. ์ปจํ
์ด๋์ args
๋ฅผ ๋ณด๋ฉด ๋ด๋ถ์ ์ผ๋ก ํด๋น ๋น ํ์ผ์ ๋ง๋ค๊ณ ์ญ์ ํ๊ธฐ ๋๋ฌธ์ ๋ง์ผ ์ญ์ ๊ฐ ๋๋ฉด ๋ผ์ด๋ธ๋์ค ํ๋ก๋ธ๋ ์คํจ๋ฅผ ์๋ฏธํ๋ค. kubelet์ ์ง์์ ์ผ๋ก ์ปค๋งจ๋๋ฅผ ๋ณด๋ด๋๋ฐ ํ์ผ์ด ์์ผ๋ฉด ์ปจํ
์ด๋๊ฐ ๋น์ ์์ ์ด๋ผ๋ ๊ฒ์ผ๋ก ํ๋จํ๋ค.
References
- ์ฑ | Kubernetes in Action 4์ฅ
- Kubernetes | Configure Liveness, Readiness and Startup Probes
- timewizhan | Liveness & Readiness Probe
์ปจํธ๋กค๋ฌ๋ ํ๋๋ค์ ๊ด๋ฆฌํ๋ ์ญํ ์ ํ๋ค. ์ปจํธ๋กค๋ฌ์๋ ReplicaSet, DeamonSet, Job, CronJob, Deployment, StatefulSet ๋ฑ์ด ์๋ค
ReplicaSet
ํ๋๋ฅผ ๋จ๋ ์ผ๋ก ๋ง๋ค๋ฉด ํ๋์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ์๋์ผ๋ก ๋ณต๊ตฌ๋์ง ์๋๋ค. ์ด๋ฌํ ํ๋๋ฅผ ์ ํด์ง ์๋งํผ ๋ณต์ ํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ด ๋ ํ๋ฆฌ์นด์ ์ด๋ค. ๋ ํ๋ฆฌ์นด์ ์ ์ํ๋ ๊ฐ์์ ํ๋๋ฅผ ์ ์งํ๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ ํ๋ฆฌ์นด์ ์ ์ง์ ์์ฑํ์ง๋ ์๋๋ค. ๊ทธ ๋์ ์์ ์์ค์ ๋ํ๋ก์ด๋จผํธ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค ๋ ์๋์ผ๋ก ์์ฑํ๋ค.
๐งฉ ๋ ํ๋ฆฌ์นด์ ์์ฑ
|
|
๋ผ๋ฒจ์ ์ฒดํฌํด์ ์ํ๋ ์์ ํ๋๊ฐ ์์ผ๋ฉด ์๋ก์ด ํ๋๋ฅผ ์์ฑํ๋ค.
๐งฉ ๋ ํ๋ฆฌ์นด์ ์์ฑ ์ด ๋งค๋ํ์คํธ๋ฅผ frontend.yaml์ ์ ์ฅํ๊ณ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ์ ์ฉํ๋ฉด ์ ์๋์ด ์๋ ๋ ํ๋ฆฌ์นด์ ์ด ์์ฑ๋๊ณ ๋ ํ๋ฆฌ์นด์ ์ด ๊ด๋ฆฌํ๋ ํ๋๊ฐ ์์ฑ๋๋ค.
|
|
๐งฉ ๋ ํ๋ฆฌ์นด์ ํ์ธ ํ์ฌ ๋ฐฐํฌ๋ ๋ ํ๋ฆฌ์นด์ ์ ํ์ธํ ์ ์์ผ๋ฉฐ ์์ฑ๋ frontend๋ฅผ ๋ณผ ์ ์๋ค.
|
|
DISIRED
: ๋ ํ๋ฆฌ์นด์ ์ค์ ์ ์ง์ ํ ํ๋ ๊ฐ์CURRENT
: ๋ ํ๋ฆฌ์นด์ ์ ์ด์ฉํด ํ์ฌ ํด๋ฌ์คํฐ์์ ๋์ํ๋ ์ค์ ํ๋ ๊ฐ์READY
: ์ฌ์ฉํ ์ค๋น๊ฐ ์๋ฃ๋ ํ๋์ ๊ฐ์
๋ํ ๋ ํ๋ฆฌ์นด์ ์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค. ์ถ๋ ฅ์ ๋ค์๊ณผ ์ ์ฌํ ๊ฒ์ด๋ค.
|
|
|
|
๐งฉ ํ๋ ํ์ธ ํ์ฌ ํ๋ ์ ๋ณด๋ฅผ ํ์ธํ๋ค.
|
|
.spec.replicas
๋ฅผ 3์ผ๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์ frontend-b2zdv, frontend-vcmts, frontend-wtsmm๋ผ๋ ํ๋๊ฐ ์คํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๐งฉ ๋ ํ๋ฆฌ์นด์ ์ญ์ ๋ ํ๋ฆฌ์นด์ ์ ์ญ์ ํ๋ค. ๋ ํ๋ฆฌ์นด์ ์ ์ญ์ ํ๋ฉด ๊ด๋ จ ํ๋๋ ๋ชจ๋ ์ญ์ ๋๋ค.
|
|
References
DaemonSet
๋ฐ๋ชฌ์ ์ ํด๋ฌ์คํฐ ์ ์ฒด ๋ ธ๋์ ํน์ ํ๋๋ฅผ ์คํํ ๋ ์ฌ์ฉํ๋ ์ปจํธ๋กค๋ฌ๋ค. ํด๋ฌ์คํฐ ์์ ์๋กญ๊ฒ ๋ ธ๋๊ฐ ์ถ๊ฐ๋์์ ๋ ๋ฐ๋ชฌ์ ์ด ์๋์ผ๋ก ํด๋น ๋ ธ๋์ ํ๋๋ฅผ ์คํ์ํจ๋ค.
๐ ์ปจํธ๋กค๋ฌ: ๊ธฐ๋ณธ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ๋ก, ๋ํ์ ์ผ๋ก ReplicaSet, DeamonSet, StatefulSet, Job, Deployment ๋ฑ์ด ์๋ค.
๋ฐ๋ชฌ์ ์ ๋ ธ๋๊ฐ ์๋ ์๋งํผ ํ๋๋ฅผ ์์ฑํ๊ณ ๊ฐ ๋ ธ๋์ ํ๋๋ฅผ ํ๋์ฉ ๋ฐฐํฌํ๋ค. ๋ ธ๋๊ฐ ๋ค์ด๋ผ๋ ๋ฐ๋ชฌ์ ์ ์ด๋ ๊ณณ์์๋ ํ๋๋ฅผ ์์ฑํ์ง ์๋๋ค. ์ฆ, ๋ ธ๋๊ฐ ํด๋ฌ์คํฐ์์ ๋น ์ก์ ๋๋ ํด๋น ๋ ธ๋์ ์๋ ํ๋๋ ๊ทธ๋๋ก ์ฌ๋ผ์ง ๋ฟ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ฎ๊ฒจ๊ฐ์ ์คํ๋๊ฑฐ๋ ํ์ง ์๋๋ค.
๋ชจ๋ ๋ ธ๋์ ํ๋๋ฅผ ํ๋์ฉ ๋ฐฐํฌํ์ง ์์๋ ๋๋ค. ํ ์ธํธ์ ํจ๋ฌ๋ ์ด์ ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ฐ๋ชฌ์ ์ ์ ์ฒด ํด๋ฌ์คํฐ์ ๋ ธ๋๊ฐ ์๋๋ผ ํน์ ๋ ธ๋๋ค์๋ง ์ ํํด์ ์คํํ ์๋ ์๋ค.
๋ฐ๋ชฌ์ ์ ๋ณดํต ๋ก๊ทธ ์์ง๊ธฐ๋ฅผ ์คํํ๊ฑฐ๋ ๋ ธ๋๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๋ฐ๋ชฌ ๋ฑ ํด๋ฌ์คํฐ ์ ์ฒด์ ํญ์ ์คํํด๋์ด์ผ ํ๋ ํ๋์ ์ฌ์ฉํ๋ค.
๋ฐ๋ชฌ์ ์์ฑ
|
|
๐ .spec.template.spec.nodeSelector: ํ๋๋ฅผ ํน์ ๋ ธ๋์ ๋ฐฐ์นํ๋ค. ๋ ธ๋์ ๋ผ๋ฒจ ์ ๋ ํฐ ํ๋๋ ๋ ํ๋ฆฌ์นด์ , ๋ฐ๋ชฌ์ก, ์ก, ๋ํ๋ก์ด๋จผํธ ์ปจํธ๋กค๋ฌ์์๋ ์ฌ์ฉํ ์ ์๋ค.
๋ฐ๋ชฌ์ ํ์ธ
|
|
|
|
DISIRED, CURRENT, READY ๋ฑ์ด ๋ชจ๋ 0์ผ๋ก ๋ณด์ธ๋ค. ํ๋ ๋ชฉ๋ก์ ๋์ดํ๋ ์ปค๋งจ๋๋ฅผ ์ ๋ ฅํด๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ํ๋๊ฐ ์์ฑ๋์ง ์๋๋ค. ์ ๊ทธ๋ด๊น?
๋ฐ๋ชฌ์
์ ์์ ๋
ธ๋์
๋ ํฐ๋ก node=development
๋ ์ด๋ธ์ ์ ํํ๋๋ก ์ ์ํ์๊ธฐ ๋๋ฌธ์ ๋
ธ๋ ๋ ์ด๋ธ๊ณผ ๋งค์นญ๋๋ ๋
ธ๋๊ฐ ์์ด์ ํ๋๋ฅผ ์์ฑํ์ง ์๋๋ค.
๋ ธ๋ ๋ ์ด๋ธ ์ง์
๋ฐ๋ชฌ์ ์ด ํ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ ธ๋์ ๋ ์ด๋ธ์ ์ถ๊ฐํ๋ค. kube-node1 ๋ ธ๋์ node=development ๋ ธ๋ ๋ ์ด๋ธ์ ์ค์ ํ๋ค.
|
|
DaemonSet vs ReplicaSet
๋ ํ๋ฆฌ์นด์
์ ๋งค๋ํ์คํธ ํ์ผ์ ์ ์๋ ํ๋์ ์๊ฐ ํด๋ฌ์คํฐ์์ ํญ์ ์คํ๋๋๋ก ํ์ง๋ง ๋ฐ๋ชฌ์
์ ๋งค๋ํ์คํธ์ ์ ์๋ ํ๋์ ํ๋ ๋ณต์ฌ๋ณธ์ด ๋ชจ๋ ๋
ธ๋์ ํ๋์ฉ ์คํ๋๋๋ก ํ๋ค.
๋ ํ๋ฆฌ์นด์ ์ ํด๋ฌ์คํฐ์ ์ํ๋ ์์ ํ๋ ๋ณต์ ๋ณธ์ด ์๋์ง ํ์ธํ๋ ๋ฐ๋ฉด, ๋ฐ๋ชฌ์ ์๋ ์ํ๋ ๋ ํ๋ฆฌ์นด ์์ ๊ฐ๋ ์ด ์๋ค. ํ๋ ์ ๋ ํฐ์ ์ผ์นํ๋ ํ๋๊ฐ ๊ฐ ๋ ธ๋์์ ์คํ ์ค์ธ์ง ํ์ธํ๋ ๊ฒ ์์ฒด๊ฐ ๋ฐ๋ชฌ์ ์ด ์ํํด์ผํ ์ญํ ์ด๋ค.
์ฆ, ๋ ํ๋ฆฌ์นด์ ์ ํ๋๋ฅผ ์์์ ํด๋ฌ์คํฐ ๋ ธ๋๋ก ์ค์ผ์คํ๋ ๋ฐ๋ฉด, ๋ฐ๋ชฌ์ ์ ๋ชจ๋ ๋ ธ๋์ ๋ฐ๋ชฌ์ ์์ ์ ์ํ ํ๋์ ๋จ์ผ ์ธ์คํด์ค๋ฅผ ์คํํ๋ค.
References
- ์ฑ | Kubernetes in Action 4์ฅ
- Kubernetes | ๋ฐ๋ชฌ์
- kimjingo | ๋ฐ๋ชฌ์
- nearhome | ๋ฐ๋ชฌ์ ์ด๋
๋ ํ๋ฆฌ์นด์
๊ณผ ๋ฐ๋ชฌ์
์ ์์
์ ์๋ฃ๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๊ณ์ ํ
์คํฌ๋ฅผ ์คํํ๋ค. ์ด๋ฐ ํ๋์ ํ๋ก์ธ์ค๋ ์ข
๋ฃ๋๋ฉด ๋ค์ ์์๋๋ค. ๊ทธ๋ฌ๋ ์๋ฃ ๊ฐ๋ฅํ ํ์คํฌ์์๋ ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋ ํ ๋ค์ ์์ํ๋ฉด ์๋๋ค.
Job
๐ ์ปจํธ๋กค๋ฌ: ๊ธฐ๋ณธ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๊ด๋ฆฌํ๋ ์ญํ ๋ก, ๋ํ์ ์ผ๋ก ReplicaSet, DeamonSet, StatefulSet, Job, Deployment ๋ฑ์ด ์๋ค.
์ก์ ํ๋ ์ด์์ ํ๋๋ฅผ ์ง์ ํ๊ณ ์ง์ ๋ ์์ ํ๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํ๊ณ ์ข ๋ฃํ๋๋ก ํ๋ค. ์ฆ, ๋ด๋ถ์์ ์คํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ์ปจํ ์ด๋๊ฐ ๋ค์ ์์๋์ง ์๋๋ก ํ๋ ํ๋๋ฅผ ์คํํ ์ ์๋ค.
๋ฐฑ์ ์ด๋ ํน์ ๋ฐฐ์น ํ์ผ๋ค์ฒ๋ผ ํ๋ฒ ์คํํ๊ณ ์ข ๋ฃ๋๋ ์ฑ๊ฒฉ์ ์์ ์ ์ฌ์ฉ๋ ์ ์๋ค.
๋ ธ๋ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ก์ด ๊ด๋ฆฌํ๋ ํด๋น ๋ ธ๋์ ํ๋๋ ๋ ํ๋ฆฌ์นด์ ์ ํ๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ค๋ฅธ ๋ ธ๋๋ก ์ฌ์ค์ผ์ค๋๋ค. ์ก์ ํ๋ก์ธ์ค ์์ฒด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ๋๋ก ๊ตฌ์ฑํ ์ ์๋ค.
๋ฆฌ์์ค ์ ์
|
|
ํ์ด(ฯ)์ 2000์๋ฆฌ๊น์ง ๊ณ์ฐํด์ ์ถ๋ ฅํ๋ค.
๐ restartPolicy ์ต์ : ํ๋์ ์ฌ์์ ์ ์ฑ ์ ์ค์ ํ๋ค.
- always: ํญ์ ์ฌ์์ํ๋ค. ๊ธฐ๋ณธ๊ฐ์ด์ง๋ง, ์ก ํ๋๋ ๋ฌด์ ํ ์คํํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ ์ ์ฑ ์ ์ฌ์ฉํ ์ ์๋ค. (์ฌ์ฉํ ๊ฒฝ์ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.) restartPolicy ์ ์ฑ ์ onFailure๋ Never๋ก ๋ช ์ํด์ผ ํ๋ค.
- onFailure: ๋น์ ์ ์ข ๋ฃ ๋ฐ์ ์ ์ปจํ ์ด๋๋ฅผ ์ฌ์์ํ๋ค.
- Never: ์ฌ์์ํ์ง ์๋๋ค.
๐ backoffLimit ์ต์ : ์ก์ ์คํจํ ๊ฒฝ์ฐ ๋ค์ ์คํ์ํฌ ์ฌ์๋ ํ์๋ฅผ ์ง์ ํ๋ค. ๊ธฐ๋ณธ๊ฐ์ 6์ด๋ค. ๋ณดํต ์ก ์ปจํธ๋กค๋ฌ๊ฐ ์ฌ์์์ ๊ด๋ฆฌํ ๋๋ง๋ค ์๊ฐ ๊ฐ๊ฒฉ์ ๋๋ฆฐ๋ค. ์ฒ์ ์ฌ์์ ์คํจํ 10์ด๋ฅผ ๊ธฐ๋ค๋ฆฐ ํ ์๋ํ๊ณ ๊ทธ ๋ค์์ 20์ด, 40์ด ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๊ณ์ ์ฌ์์ ๋๊ธฐ ์๊ฐ์ ๋๋ฆฐ๋ค.
๐ activeDeadlineSeconds ์ต์ : ํ๋์ ์คํ ์๊ฐ์ ์ง์ ํ๋ค. ํ๋๊ฐ ์ด๋ณด๋ค ์ค๋ ์คํ๋๋ฉด ์์คํ ์ ํ๋๋ฅผ ์ข ๋ฃํ๋ ค๊ณ ์๋ํ๊ณ ์ก์ ์คํจํ ๊ฒ์ผ๋ก ํ์ํ๋ค.
๋ฆฌ์์ค ์์ฑ
|
|
๋ฆฌ์์ค ํ์ธ
|
|
์์ ๊ฐ์ด Start Time
, Completed At
, Duration
, Pod Statuses
ํญ๋ชฉ์ ๋ณด๋ฉด 65์ด ๋์ ํ๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํ๊ณ ์ ์์ ์ผ๋ก ์ข
๋ฃํ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
|
|
๋ค์์ ํ๋ ์คํ
์ก์ ๋ ๊ฐ ์ด์์ ํ๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ๋ณ๋ ฌ ๋๋ ์์ฐจ์ ์ผ๋ก ์คํํ๋๋ก ๊ตฌ์ฑํ ์ ์๋ค. ์ก ์คํ์ completions
์ parallelism
์์ฑ์ ์ค์ ํด ์ํํ๋ค.
.spec.completions
์ ์์ ์ผ๋ก ์คํ ์ข ๋ฃ๋์ด์ผ ํ๋ ํ๋ ๊ฐ์๋ฅผ ์ ์ํ๋ค. ๊ธฐ๋ณธ๊ฐ์ 1์ด๋ค.
|
|
์ด ์ก์ ๋ค์ฏ ๊ฐ์ ํ๋๋ฅผ ์ฐจ๋ก๋๋ก ์คํํ๋ค. ์ฒ์์๋ ํ๋์ ํ๋๋ฅผ ๋ง๋ค๊ณ ํ๋ ์ปจํ ์ด๋๊ฐ ์๋ฃ๋๋ฉด ๋ ๋ฒ์งธ ํ๋๋ฅผ ๋ง๋ค๊ณ ๋ค์ฏ ๊ฐ์ ํ๋๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ๋๊น์ง ๊ณ์ํ๋ค. ํ๋ ์ค ํ๋๊ฐ ์คํจํ๋ฉด ์ก์ด ์ ํ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ ์ฒด์ ์ผ๋ก ๋ณด๋ฉด ๋ค์ฏ ๊ฐ ์ด์์ ํ๋๋ฅผ ์์ฑํ ์ ์๋ค.
.spec.parallelism
๋์์ ๋ช ๊ฐ์ ํ๋๊ฐ ์คํ๋์ด๋ ๊ด์ฐฎ์์ง๋ฅผ ์ ์ํ๋ค. ๊ธฐ๋ณธ๊ฐ์ 1์ด๊ณ 0์ผ๋ก ์ค์ ํ๋ฉด ์ก์ ์ ์งํ ์ ์๋ค.
|
|
์ด ์ก์ 2๊ฐ์ ํ๋๋ฅผ ๋ง๋ค์ด ๋ณ๋ ฌ๋ก ์คํํ๋ฉฐ 5๊ฐ์ ํ๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํด์ผ ํ๋ค. ๊ทธ ์ค ํ๋๊ฐ ๋๋๋ฉด ์ก์ ๋ค์ฏ ๊ฐ์ ํ๋๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋๋ ๋๊น์ง ๋ค์ ํ๋๋ฅผ ์คํํ๋ค.
์ก ์ข ๋ฃ
์ก์ด ์ ์์ ์ผ๋ก ์คํ ์ข ๋ฃ๋๋ฉด ํ๋๊ฐ ์๋ก ์์ฑ๋์ง๋ ์ญ์ ๋์ง๋ ์๋๋ค. ๋ํ ์ก๋ ๋จ์ ์๋ค. ํ๋๋ ์ก์ด ์ญ์ ๋์ง ์๊ณ ๋จ์ ์์ผ๋ฉด ๋ก๊ทธ์์ ์๋ฌ๋ ๊ฒฝ๊ณ ๋ฅผ ํ์ธํ ์ ์๊ณ ์ก์ ์ํ๋ ๊ณ์ํด์ ํ์ธํ ์ ์๋ค.
.spec.activeDeadlineSeconds
ํ๋์ ์๊ฐ์ ์ค์ ํ๋ฉด, ์ง์ ๋ ์๊ฐ์ ํด๋น ์ก ์คํ์ ๊ฐ์ ๋ก ๋๋ด๋ฉด์ ๋ชจ๋ ํ๋ ์คํ๋ ์ข
๋ฃํ๋ค.
๐งฉ ์ก ์ญ์
์ก์ ์ญ์ ํ๋ฉด ๊ด๋ จ๋ ํ๋๋ค๋ ๊ฐ์ด ์ญ์ ๋๋ค.
|
|
์ก ํจํด
์ก์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ํจํด์ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๋ง๋ค ์ก์ ํ๋์ฉ ์์ฑํด ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค๋ ๋ชจ๋ ์์ ์ ๊ด๋ฆฌํ๋ ์ก ํ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค. ์ก์ ์์ฑํ๋ ์ค๋ฒํค๋๊ฐ ํฌ๊ธฐ ๋๋ฌธ์, ์์ ์ด ๋ง์์ง์๋ก ์ก ํ๋๊ฐ ์ฌ๋ฌ๊ฐ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค.
์์ ๊ฐ์๋งํผ์ ํ๋๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ํ๋ ํ๋๊ฐ ์ฌ๋ฌ ๊ฐ์ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค. ํ๋๋ฅผ ์์ฑํ๋ ์ค๋ฒํค๋๋ ํฌ๊ธฐ ๋๋ฌธ์ ์์ ์ด ๋ง์์ง์๋ก ํ๋ ํ๋๊ฐ ์ฌ๋ฌ ๊ฐ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค.
CronJob
์ก ๋ฆฌ์์ค๋ ์์ฑ๋ ๋ ์ฆ์ ํ๋๋ฅผ ์คํํ๋ค. ๊ทธ๋ฌ๋ ๋ง์ ๋ฐฐ์น ์์ ์ ์์ผ๋ก ํน์ ์๊ฐ์ ์คํ๋๊ฑฐ๋ ์ง์ ๋ ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ๋ณต์ ์ธ ์คํ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๋ฆฌ๋ ์ค ๊ฐ์ OS์์ ์ด๋ฐ ์์ ์ cron ์์ ์ผ๋ก ์๋ ค์ ธ์๋ค. k8s๋ ์ด์ ๋์ผํ ์์ ์ ์ง์ํ๋ค.
์ก์ ์๊ฐ ๊ธฐ์ค์ผ๋ก ๊ด๋ฆฌํ๋ค. ์ง์ ํ ์๊ฐ์ ํ๋ฒ๋ง ์ก์ ์คํํ๊ฑฐ๋, ์ง์ ํ ์๊ฐ๋์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ก์ ๋ฐ๋ณตํ๋ ์์ ์์ ์ฌ์ฉํ๋ค.
์ค์ ๋ ์ค์ผ์ค์ ๋ฐ๋ผ ํฌ๋ก ์ก์ ๊ตฌ์ฑ๋ ์ก ํ ํ๋ฆฟ์ ๋ฐ๋ผ ์ก ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ค. ์ก ๋ฆฌ์์ค๊ฐ ์์ฑ๋๋ฉด ํ๋ ์ด์์ ํ๋ ๋ณต์ ๋ณธ์ด ์์ฑ๋๊ณ ์ก์ ํ๋ ํ ํ๋ฆฟ์ ๋ฐ๋ผ ์์๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก CronJob์ Job๊ณผ์ ์ค์ ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค. ๋ค๋ฅธ ์ ์ ์ค์ผ์ค๋ก ์ฃผ๊ธฐ๋ฅผ ์ค์ ํ๋ ๋ถ๋ถ์ด๋ค.
๋ฆฌ์์ค ์ ์
|
|
๋งค 1๋ถ๋ง๋ค ํ์ฌ ์๊ฐ๊ณผ hello ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ค.
ํฌ๋ก ์ค์ผ์ค ๋ฌธ๋ฒ
|
|
์ด๋ค ์ด์ ๋ก๋ ํด๋น ์ค์ผ์ค ์๊ฐ์ ์์ํ์ง ์์ผ๋ฉด ์์ ์ด ์คํ๋์ง ์๊ณ ์คํจ๋ก ํ์๋๋ค.
๋ฆฌ์์ค ํ์ธ
๐งฉ ํฌ๋ก ์ก์ ์ค์ผ์ค ์ค์ ํ์ธ
|
|
SUSPEND
: ํฌ๋ก ์ก์ด ์ ์ง๋์๋์ง ๋ํ๋ธ๋ค.ACTIVE
: ํ์ฌ ์คํ์ค์ธ ์ก์ด ์๋์ง๋ฅผ ๋ํ๋ธ๋ค.LAST SCHEDULE
: ๋ง์ง๋ง์ผ๋ก ์ก์ ์คํํ ํ ์ด๋์ ๋ ์๊ฐ์ด ์ง๋ฌ๋์ง ๋ํ๋ธ๋ค.
๐งฉ ํฌ๋ก ์ก์ด ์คํํ ์ก ํ์ธ
|
|
ํฌ๋ก ์ก ์ด๋ฆ์ด hello ๋ค์ ์ซ์๊ฐ ๋ถ์ ์ก๋ค์ด ์คํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
COMPLETIONS
: ์์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ ํ์/์ด ์์ ํ์DURATION
: ์์ ์ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ ๋ฐ ๊ฑธ๋ฆฐ ์๊ฐ
๋ฆฌ์์ค ์ญ์
|
|
ํฌ๋ก ์ก์ด ์์ฑํ๋ ์ก๊ณผ ํ๋๊น์ง ํ๊บผ๋ฒ์ ์ญ์ ๋๋ค.
์ก(Job)์ 1ํ์ฑ ์์ ์ ํ ๋ ์ฌ์ฉํ๋ฉฐ, ํฌ๋ก ์ก(CronJob)์ ์ฃผ๊ธฐ์ ์ธ ๋ฐฐ์น ์์ ์ ์คํํ ๋ ์ฌ์ฉํ๋ค.
References