๐ฏ OpenSource(19)
-
09. Job์ผ๋ก ์๋ฃ ๊ฐ๋ฅํ ๋จ์ผ task ๊ตฌํํ๊ธฐ
Pod, ReplicaSet, DaemonSet ๋ฑ์ผ๋ก ์์ฑํ ํ๋ก์ธ์ค๋ ์ง์์ ์ผ๋ก ๋์๋๋ฉฐ, ๋ณ๋์ ์๋ฃ ์์ ์ด ์๋ค. ๋ฐ๋ฉด ์๋ฃ๋ ํ ๋ค์ ์์๋์ง ์๋ ํ๋ก์ธ์ค๋ฅผ Job ๋ฆฌ์์ค๋ก ๊ตฌํํ ์ ์๋ค. 4.5.1 Job ์๊ฐ Job์ ์์ ์ด ์ ๋๋ก ์๋ฃ๋์ด์ผ ํ๋ ์์ ์์ ์ ์ ์ฉํ๊ฒ ์ฐ์ธ๋ค. Job์ผ๋ก ๊ด๋ฆฌํ๋ pod๋ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋๊ธฐ ์ ๊น์ง๋ ๋์ํ๋๋ก ์ด์๋๋ค. ์๋ฅผ ๋ค์ด ํ๋์ node์ ์ฅ์ ๊ฐ ์๊ฒผ์๋ ๊ทธ ์์์ ๋์ํ๋ Job์ผ๋ก ์์ฑํ pod๋ ๋ค๋ฅธ node์ ์๋ ์ค์ผ์ค๋ง ๋๋ค. 4.5.2 Job Resource Job ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ค. ์๋ yaml ์ ์์์ ์ฌ์ฉํ image๋ 120์ด ๋์ ์คํํ ํ ์ข ๋ฃ๋๋ค. apiVersion: batch/v1 kind: Job metadata..
2021.04.05 -
08. DaemonSet
DaemonSet์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํด๋ฌ์คํฐ ๋ ธ๋๋ง๋ค pod๋ฅผ ํ๋์ฉ ์ฌ๋ฆด ์ ์๋ค. ์๋ฅผ ๋ค์ด ๋ชจ๋ node์์ ๋์ผํ๊ฒ log ์์ง๊ธฐ๋ฅผ ๊ตฌ๋ ์์ผ์ผ ํ๋ ๊ฒฝ์ฐ DaemonSet์ ์ด์ฉํ์ฌ ๋ฐฐํฌํ๊ฒ ๋๋ค. 4.4.1 DaemonSet์ผ๋ก ๋ชจ๋ node์ pod ์คํํ๊ธฐ DaemonSet์ผ๋ก ์์ฑ๋๋ pod๋ ์ฌ๋ผ๊ฐ ๋ ธ๋๊ฐ ์ด๋ฏธ ์ง์ ๋์ด ์์ด ๋ฌด์์๋ก ๋ฐฐํฌ๋์ง ์๋๋ค. node์์ฒด๊ฐ ๋ค์ด๋ ๊ฒฝ์ฐ DaemonSet์ผ ๋ค๋ฅธ node์ pod๋ฅผ ์์ฑํ์ง ์์ ์๋ก์ด node๊ฐ ํด๋ฌ์คํฐ์ ์ถ๊ฐ๋ ๊ฒฝ์ฐ ํด๋น ๋ ธ๋์ ์๋ก์ด pod์์ฑํจ 4.4.2 DaemonSet ์ฌ์ฉํ์ฌ ํน์ node์ pod์คํํ๊ธฐ ๋ฐ๋ก ์ค์ ํ์ง ์์ผ๋ฉด DaemonSet์ ํด๋ฌ์คํฐ์ ๋ชจ๋ node์ pod๋ฅผ ๋ฐฐํฌํ๋ค. ํน์ ๋ ธ๋๋ฅผ ์ง์ ํ๊ธฐ ์ํด์..
2021.04.05 -
07. ReplicaSet
Replication Controller์ ReplicaSet ๋ชจ๋ ์คํ ์ค์ธ pod ๋ชฉ๋ก์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ฌ ๊ด๋ฆฌํ๋ pod ๋ค์ ์ค์ ์๊ฐ ์๋ํ๋ ์์ ๋์ผํ๋๋ก ๋ณด์ฅํ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฆฌ์์ค์ด๋ค. ํ์ง๋ง Replication Controller๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ถ์ธ์ด๋ฉฐ, ์ ์ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ์ข๋ ๋์ ReplicaSet์ ๊ฑฐ์ ์ฌ์ฉํ๋ค. 4.3.1 Replication Controller์ ReplicaSet ๋น๊ต ๋ ๋ฆฌ์์ค๋ ๋์ผํ๊ฒ ๋์ํ์ง๋ง ReplicaSet์ ์ด์ํ๋ฉด ์ข ๋ ์ ๊ตํ pod selector๋ฅผ ์ฌ์ฉํ ์ ์๋ค. Replication Controller : ํน์ ๋ ์ด๋ธ์ด ์๋ pod๋ง ํํฐ๋ง ReplicaSet : ํน์ ๋ ์ด๋ธ์ด ์๊ฑฐ๋ ๋ ์ด๋ธ์ ๊ฐ๊ณผ ์๊ด์์ด ..
2021.04.05 -
06. liveness probe
โป ๋ณธ ๊ฒ์๊ธ์ ๋์ ์ ํ ๋๋ก ์ ๋ฆฌ/ํ์ตํ ๋ด์ฉ์ ๋๋ค. 4์ฅ์์๋ kubernetes๊ฐ container ๋ค์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ์ํ๋ ์ํ๋ฅผ ์ ์ง์ํค๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค. 4.1 Pod๋ฅผ ์์ ์ ์ผ๋ก ์ ์งํ๊ธฐ ์ฟ ๋ฒ๋คํฐ์ค์ ์ฃผ์ ์ฅ์ ์ ์ฌ์ฉ์๊ฐ ๊ตฌ๋ํ๊ณ ์ ํ๋ container์ ์ํ๋ฅผ ์์ฒด์ ์ผ๋ก ์ฒดํฌํ์ฌ ์ํ๋ ์ํ๋ฅผ ์ ์งํ๋๋ก ๊ด๋ฆฌํ๋ค๋ ๊ฒ์ด๋ค. container์ crash๊ฐ ๋ฐ์ํ์ฌ ์ ์ ๋์ ํ์ง ์์ผ๋ฉด kubelet์ด ์ด๋ฅผ ๊ฐ์งํ๊ณ ์๋ ์ฌ์์ ์ํค๋ ๊ฒ ๋ฑ์ด๋ค. ํ์ง๋ง ๋๋ก๋ ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ค์ธ ๋๋ ์๋ค. 4.1.1 liveness probe liveness probe๋ฅผ ํตํด ์ปจํ ์ด๋๊ฐ ์ด์ ์๋์ง ํ์ธํ๊ณ , ์คํจํ ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ฅผ ์ฌ์์ ํ๋ค. HEEP G..
2021.04.05 -
05. Pod ์ค์ง, ์ ๊ฑฐ
pod๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์ง,์ ๊ฑฐ ํ ์ ์๋ค. 3.8.1 ์ด๋ฆ์ผ๋ก ์ญ์ pod๋ฅผ ์ญ์ ํ๋ฉด pod ์์ ๋ชจ๋ container ๋ํ ์ข ๋ฃ๋๋ค. root@master001:~/k8s_in_action/03_pod# kubectl delete pod kubia-gpu pod "kubia-gpu" deleted 3.8.2 Label Selector๋ฅผ ์ด์ฉํ pod ์ญ์ label์ ์ง์ ํ์ฌ ์ํ๋ ์งํฉ์ pod๋ฅผ ํ๋ฒ์ ์ญ์ ํ ์ ์๋ค. root@master001:~/k8s_in_action/03_pod# kubectl delete pod -l creation_method=manual pod "kubia" deleted pod "kubia-manual-v2" deleted 3.8.3 namespace ์ญ์ ๋ก ์ธ..
2021.04.04 -
04. Namespace๋ฅผ ์ด์ฉํ ๋ฆฌ์์ค ๊ทธ๋ฃนํ
์ฟ ๋ฒ๋คํฐ์ค๋ Namespace๋ฅผ ํตํด ์ฌ๋ฌ ์ค๋ธ์ ํธ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ค. ์๋ก ๋ค๋ฅธ Namespace์์๋ ๊ฐ์ ์ด๋ฆ์ ๋ฆฌ์์ค๋ฅผ ๊ฐ๊ฐ ์ฌ์ฉํ ์ ์๋ค. 3.7.1 Namespace์ ํ์์ฑ ๋ง์ ๊ตฌ์ฑ์์๋ฅผ ์ข ๋ ์์ ๊ฐ๋ณ ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ ์ ์๋ค. multi-tenant ํ๊ฒฝ์ฒ๋ผ ๋ฆฌ์์ค ๋ถ๋ฆฌ production, dev, QA ๋ฑ ์ฉ๋์ ๋ง๊ฒ ๋ฆฌ์์ค ๋ถ๋ฆฌ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ํ๋์ ํด๋ฌ์คํฐ๋ฅผ ๋๋ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์๋ก ๋ค๋ฅธ namespace์์ ๋ฆฌ์์ค๋ ๋ ๋ฆฝ์ ์ด์ง๋ง, node ๊ฐ์ ๊ฒฝ์ฐ๋ global ํ๊ฒ ๋์ํ๋ค. 3.7.2 ๋ค๋ฅธ namespace์ pod ์ดํด๋ณด๊ธฐ root@master001:~/k8s_in_action/03_pod# kubectl get namespace NAME STATUS AGE..
2021.04.04 -
03. Label์ ์ด์ฉํ Pod ๊ตฌ์ฑ
โป ๋ณธ ๊ฒ์๊ธ์ ๋์ ์ ํ ๋๋ก ์ ๋ฆฌ/ํ์ตํ ๋ด์ฉ์ ๋๋ค. Pod์ ์๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ labeling์ ํตํด ์ฐ๊ด์ฑ์ด ์๋ ๊ฒ๋ผ๋ฆฌ ๋ถ๋ฅํ์ฌ ์ด์ํ ์ ์๋ค. pod๋ฅผ ๊ทธ๋ฃนํํ๋ฉด ๊ทธ๋ฃน๋ณ pod๋ค์ ์ํ๋ ์์ ์ ์ผ๊ด์ ์ผ๋ก ์ ์ฉ์ํฌ ์ ์๋ค. 3.3.1 Label? Label์ pod, deployment ๋ฑ ๋ชจ๋ ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ฅผ ์กฐ์งํ ํ๋ ๊ธฐ๋ฅ์ด๋ค. ๋ฆฌ์์ค์ ์ค์ ํ๋ Key:value ์ Label Selector๋ฅผ ์ด์ฉํด ์ํ๋ label์ ๊ฐ์ง ๋ฆฌ์์ค๋ฅผ ์ ํํ๋ค. ๋ฆฌ์์ค ์์ฑ ํ์๋ label ์ถ๊ฐ/์์ ๊ฐ๋ฅ 3.3.2 Pod ์์ฑํ ๋ label ์ง์ ํ๊ธฐ ๋ ๊ฐ์ label์ pod์ yaml ํ์ผ์ ์ง์ ํ๊ณ ๋์ ๋ฐฉ์์ ์์ ๋ณด๋๋ก ํ๋ค. apiVersion: v1 kind: Pod metad..
2021.04.04 -
02. YAML ๋๋ JSON ๋์คํฌ๋ฆฝํฐ๋ก Pod ์์ฑํ๊ธฐ
โป ๋ณธ ๊ฒ์๊ธ์ ๋์ ์ ํ ๋๋ก ์ ๋ฆฌ/ํ์ตํ ๋ด์ฉ์ ๋๋ค. Pod, Deployment, Service ๋ฑ๊ณผ ๊ฐ์ ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค REST API ์๋ํฌ์ธํธ์ ์์ฑํ๋ ค๋ ๋ฆฌ์์ค์ ๋ช ์ธ์๋ฅผ ์ ์กํ์ฌ ์์ฑํ๋ค. ์ด๋ ๋ช ์ธ์๋ yaml, json ๊ณผ ๊ฐ์ ํ์ผ ํ์์ ๊ฐ์ง๋ค. 3.2.1 ๊ธฐ์กด pod์ yaml ๋์คํฌ๋ฆฝํฐ -o yaml ์ต์ ์ผ๋ก pod์ ๋ํ yaml ์ ์๋ฅผ ํ์ธ ํ ์ ์๋ค. root@master001:~# kubectl get po kubia-manual -o yaml yaml ์ ์๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ํ์ธ ๊ฐ๋ฅํ๋ค. ๋๋ณด๊ธฐ root@master001:~# kubectl run kubia --image=luksa/kubia --port=8080 --gener..
2021.04.03 -
01. Pod_์ฟ ๋ฒ๋คํฐ์ค์์ ์ปจํ ์ด๋ ์คํํ๊ธฐ
โป ๋ณธ ๊ฒ์๊ธ์ ๋์ ์ ํ ๋๋ก ์ ๋ฆฌ/ํ์ตํ ๋ด์ฉ์ ๋๋ค. About : pod ์ฌ์ฉ ๋ฐ ๊ด๋ฆฌ ๋ฐฉ๋ฒ pod์ ์์ฑ, ์คํ, ์ ์ง pod์ ๋ค๋ฅธ ๋ฆฌ์์ค๋ฅผ ๋ ์ด๋ธ๋ก ์กฐ์งํ ํน์ ๋ ์ด๋ธ์ ๊ฐ์ง ๋ชจ๋ pod์์ ์์ ์ํ namespace๋ฅผ ์ด์ฉํด pod๋ฅผ ๊ฒน์น์ง ์๋ ๊ทธ๋ฃน์ผ๋ก ๋๋๊ธฐ ํน์ worker node์ pod ๋ฐฐ์นํ๊ธฐ 3. Pod ์๊ฐ 3.1.1 Pod๊ฐ ํ์ํ ์ด์ ์ Container ๋จ์๋ก ๋ฐฐํฌํ์ง ์๊ณ Pod๋ object๋ฅผ ์ฐ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ๐น ์ ํ๋ก์ธ์ค๋ณ๋ก ๋ถ๋ฆฌ๋ ๋ค์ค ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋๊ฐ? - Container๋ ๋จ์ผ ํ๋ก์ธ์ค ์คํ์ ์ํด ์ค๊ณ ๋์์ผ๋ฉฐ, ํ๋์ ์ปจํ ์ด๋์์ ๋ชจ๋ ํ๋ก์ธ์ค๋ ๋์ผํ ํ์ค ์ถ๋ ฅ์ผ๋ก log๋ฅผ ๋จ๊ธด๋ค. ๋ฐ๋ผ์ ํจ์จ์ ์ธ log ํ์ ๋ฐ ํ๋ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ..
2021.03.27