2021. 3. 27. 20:03ใ๐ฏ OpenSource/K8S
โป ๋ณธ ๊ฒ์๊ธ์ ๋์ <์ฟ ๋ฒ๋คํฐ์ค ์ธ ์ก์ >์ ํ ๋๋ก ์ ๋ฆฌ/ํ์ตํ ๋ด์ฉ์ ๋๋ค.
About : pod ์ฌ์ฉ ๋ฐ ๊ด๋ฆฌ ๋ฐฉ๋ฒ
- pod์ ์์ฑ, ์คํ, ์ ์ง
- pod์ ๋ค๋ฅธ ๋ฆฌ์์ค๋ฅผ ๋ ์ด๋ธ๋ก ์กฐ์งํ
- ํน์ ๋ ์ด๋ธ์ ๊ฐ์ง ๋ชจ๋ pod์์ ์์ ์ํ
- namespace๋ฅผ ์ด์ฉํด pod๋ฅผ ๊ฒน์น์ง ์๋ ๊ทธ๋ฃน์ผ๋ก ๋๋๊ธฐ
- ํน์ worker node์ pod ๋ฐฐ์นํ๊ธฐ
3. Pod ์๊ฐ
3.1.1 Pod๊ฐ ํ์ํ ์ด์
์ Container ๋จ์๋ก ๋ฐฐํฌํ์ง ์๊ณ Pod๋ object๋ฅผ ์ฐ๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
๐น ์ ํ๋ก์ธ์ค๋ณ๋ก ๋ถ๋ฆฌ๋ ๋ค์ค ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋๊ฐ?
- Container๋ ๋จ์ผ ํ๋ก์ธ์ค ์คํ์ ์ํด ์ค๊ณ ๋์์ผ๋ฉฐ, ํ๋์ ์ปจํ ์ด๋์์ ๋ชจ๋ ํ๋ก์ธ์ค๋ ๋์ผํ ํ์ค ์ถ๋ ฅ์ผ๋ก log๋ฅผ ๋จ๊ธด๋ค. ๋ฐ๋ผ์ ํจ์จ์ ์ธ log ํ์ ๋ฐ ํ๋ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ํด ๊ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋ณ ์ปจํ ์ด๋๋ก ๋ถ๋ฆฌํด์ผ ํ๋ค.
root@master001:~# kubectl get pods podtest -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
podtest 2/2 Running 24 18h 172.30.65.91 worker001 <none> <none>
@ ํด๋น pod์ ์ํ container ์ด๋ฆ ์กฐํ
root@master001:~/k8s_in_action/03_pod# kubectl get pods podtest -o jsonpath='{.spec.containers[*].name}' && echo
container1 container2
@ container1 ์ง์ ํ์ฌ ๋ค์ด๊ฐ๊ธฐ
root@master001:~# kubectl exec podtest -c container1 -i -t -- bash
root@podtest:/# ls
bin dev docker-entrypoint.sh home lib64 mnt proc run shared sys usr
boot docker-entrypoint.d etc lib media opt root sbin srv tmp var
3.3.2 pod ์ดํดํ๊ธฐ
pod๋ ์ฌ๋ฌ container๋ฅผ ๋ฌถ์ด ํ๋๋ก ๊ด๋ฆฌํ๋ ์์ ๊ตฌ์กฐ์ด๋ค.
pod๋ฅผ ์ด์ฉํ์ฌ ์ปจํ ์ด๋์ ์ด์ ์ ์งํค๋ฉด์ ์ฐ๊ด์ฑ ์๋ ํ๋ก์ธ์ค๋ค์ ํจ๊ป ์คํ์ํฌ ์ ์๋ค.
- ์ฐ๊ด์ฑ์ด ์๋ container๋ค์ ํ๋์ pod๋ก ๊ด๋ฆฌ
- ์ค์ ๋ก๋ ๊ฒฉ๋ฆฌ๋ ์ํ์ธ ํ๋ก์ธ์ค๋ค์ ๋์ผํ ํ๊ฒฝ์์ ๋์์ํค๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ
๐น ๊ฐ์ ํ๋์์์ ์ปจํ ์ด๋ ๊ฐ ๋ถ๋ถ ๊ฒฉ๋ฆฌ
ํ๋์ pod ์์์๋ ํน์ ํ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๊ธฐ ์ํด ๊ฐ ์ปจํ ์ด๋๊ฐ ์๋ฒฝํ๊ฒ ๊ฒฉ๋ฆฌ๋์ง ์๋๋ก ํ ์ ์๋ค.
- ํ๋์ pod์ ์๋ ๋ชจ๋ container๊ฐ ๋์ผํ namespace๋ฅผ ๊ณต์ ํ๋๋ก ๋์ปค ์ค์
๐น ์ปจํ ์ด๋ ๊ฐ ๋์ผํ ip์ port ๊ณต์
ํ๋์ pod ์์์ ๋์ํ๋ container๋ค์ ๊ฐ์ namespace์์ ๋์ํ๊ธฐ ๋๋ฌธ์ ๋์ผํ pod ip์ ํฌํธ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ค.
- ๋๋ฌธ์ ํ๋์ pod์์ ๋์ํ๋ container ๋ผ๋ฆฌ๋ port ์ถฉ๋์ด ๋์ง ์์์ผ ํจ.
๐น pod ๊ฐ flat network
์ฟ ๋ฒ๋คํฐ์ค์ pod๋ค์ flat network ๋ฐฉ์์ผ๋ก ํต์ ํ๋ค.
flat network?
- Pod ๋ผ๋ฆฌ ํต์ ํ ๋ NAT ์์ด ๋ณธ์ธ์ ip๋ฅผ ๊ฐ์ง๊ณ ํต์ ํ ์ ์๋ ๋คํธ์ํฌ ํ์
.
- ๊ฐ Pod๋ ๋ค๋ฅธ pod๋ค์ ๋ํ routing table์ ๊ฐ์ง๋ค.
3.3.3 Pod์์ ์ปจํ ์ด๋ ์ ์ ํ๊ฒ ๊ตฌ์ฑํ๊ธฐ
ํ๋ก์ธ์ค๋ณ๋ก container๋ฅผ ๋ถ๋ฆฌํด์ ์์ฑํ๋ฏ์ด, ์ดํ๋ฆฌ์ผ์ด์ ๋ ์ ์ ํ๊ฒ ์ฌ๋ฌ pod๋ก ๋ถ๋ฆฌํ์ฌ ์ด์ํด์ผ ํ๋ค.
ํ๋์ pod์๋ ๋ฐ์ ํ๊ฒ ๊ด๋ จ์ด ์๋ ๊ตฌ์ฑ ์์, ํ๋ก์ธ์ค๋ค์ ํฌํจํ๋๋ก ํ๋ค.
๋จ์ผ pod / ๋ค์ค pod ๋ฑ์ ์ํคํ ์ฒ๋ฅผ ์ง๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ฌํญ์ ํ์ธํ๋ค
- ์ปจํ ์ด๋๋ฅผ ํจ๊ป ์คํํด์ผ ํ๋๊ฐ, ํน์ ์๋ก ๋ค๋ฅธ ํธ์คํธ์์ ์คํํ ์ ์๋๊ฐ?
- ์ฌ๋ฌ ์ปจํ ์ด๋๊ฐ ๋ชจ์ฌ ํ๋์ ๊ตฌ์ฑ ์์๋ฅผ ๋ํ๋ด๋๊ฐ, ํน์ ๊ฐ๋ณ์ ์ธ ๊ตฌ์ฑ ์์์ธ๊ฐ?
- ์ปจํ ์ด๋๊ฐ ํจ๊ป, ํน์ ๊ฐ๋ณ์ ์ผ๋ก ์ค์ผ์ผ๋ง ๋์ด์ผ ํ๋๊ฐ?
๐น cluster์ ์ธํ๋ผ ๋ฆฌ์์ค ํ์ฉ๋ ๋์ด๊ธฐ
pod๋ฅผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์ฌ๋ฌ node์ ์ค์ผ์ฅด๋ง์ด ๊ฐ๋ฅํด์ง๋ค. ๋ฐ๋ผ์ ๋ฆฌ์์ค์ ํ์ฉ๋๋ฅผ ๋์ผ ์ ์๋ค.
๐น ๊ฐ๋ณ ํ์ฅ ๊ฐ๋ฅ
pod๋ ์ค์ผ์ผ๋ง์ ๊ธฐ๋ณธ ๋จ์๋ก, k8s์์ ๊ฐ๋ณ container๋ฅผ ์ค์ผ์ผ๋ง ํ ์๋ ์๋ค.
ํ๋ก ํธ์๋์ ๋ฐฑ์๋ ์ปจํ ์ด๋๋ฅผ ํ๋์ pod์ ์์ฑํ๋ฉด ์ค์ผ์ผ๋ง์ ํ ๋๋ง๋ค pod ์ฑ๋ก ์ํ ํ์ฅ๋๋ค.
(๋ณดํต ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ ์ค์ผ์ผ๋ง ์๊ตฌ์ฌํญ์ด ๋ฌ๋ผ ๊ฐ๋ณ์ ์ธ ํ์ฅ์ด ํ์ํ๋ค. -> pod ๋ถ๋ฆฌ ํ์)
'๐ฏ OpenSource > K8S' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
06. liveness probe (0) | 2021.04.05 |
---|---|
05. Pod ์ค์ง, ์ ๊ฑฐ (0) | 2021.04.04 |
04. Namespace๋ฅผ ์ด์ฉํ ๋ฆฌ์์ค ๊ทธ๋ฃนํ (0) | 2021.04.04 |
03. Label์ ์ด์ฉํ Pod ๊ตฌ์ฑ (0) | 2021.04.04 |
02. YAML ๋๋ JSON ๋์คํฌ๋ฆฝํฐ๋ก Pod ์์ฑํ๊ธฐ (0) | 2021.04.03 |