์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ์ ์ปจํ ์ด๋์ ๋ฐฐํฌ, ๊ด๋ฆฌ, ํ์ฅ, ๋คํธ์ํน์ ์๋ํํ๋ค.
์ข ๋ฅ :: Swarm, Kubernetes, Apache Mesos
์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
์ ์ด๋์ ์ปจํ
์ด๋๋ฅผ ๋ฐฐ์นํ๋ ๊ฒ ๋์์ง ๊ด๋ฆฌ๋ฅผ ํด์ค๋ค.
ex) ์ด ์ด๋ฏธ์ง๋ 7๋ฒ ์๋ฒ๊ฐ ๋น ๋ฅผ๊ฑฐ์๋ค ๋ผ๊ณ ์์ฒด ํ๋จ ํด์ฃผ๋ ๊ฒ์
replicas
-> mode๊ฐ replicated๋ผ๋ฉด ์คํ ํ ์ปจํ
์ด๋ ์๋ฅผ ๋ช
์ํฉ๋๋ค.
Docker ์ด์ ์ ๋ต
์ฟ ๋ฒ๋คํฐ์ค๋ ๋ง์ ์ปจํ
์ด๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ,, ๋ฐฐํฌ, ๊ด๋ฆฌ,ํ์ฅ, ๋คํธ์ํน์ ์๋ํํ๋ค.
container life-cycle์ ๊ด๋ฆฌ ๋ฐ ์๋ํํ๊ณ workload ๊ด๋ฆฌ๋ฅผ ์๋ํํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Kubernetes ๋ MasterNode์ WorkerNode๋ก ๊ตฌ์ฑ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๋ฐฐํฌํ๋ฉด ํด๋ฌ์คํฐ๊ฐ ์์ฑ๋๋ค.
kube-apiserver
etcd
kube-scheduler
kube-controller-manager
Kubelet : ๊ฐ ๋
ธ๋, ์ปจํ
์ด๋ ๊ด๋ฆฌ
kube-proxy : ๋
ธํธ์ ๋คํธ์ํฌ ํ๋ก์, ์ปจํ
์ด๋ ํต์ ์ ์ ์ด
container-runtime : ์ปจํ
์ด๋ ์ด์ ํ๊ฒฝ ์ ์ด
์ฟ ๋ฒ๋คํฐ์ค๋ ๋์ปค์ ๋ค๋ฅด๊ฒ POD ๋จ์๋ก ๊ด๋ฆฌํ๋ค.
POD : kubernetes์ ๊ธฐ๋ณธ ์คํ/๋ฐฐํฌ ๋จ์๋ก ํ๋ ์ด์์ ์ปจํ
์ด๋๋ก ๊ตฌ์ฑ๋๋ค.
๋ชจ๋ ๋ฆฌ์์ค(pod,service,deployment,loadbalancing)์ YAML ํ์ผ๋ก ์ ์ํ๋ค.
๋ฌธ๋ฒ
Scalars (String/number)
Sequences (arrays/lists)
Mappings (hashes, dictionaries)
basic Template
apiVersion
kind (๋ฆฌ์์ค ์ข
๋ฅ๋ฅผ ์ค์ )
metadata
spec : ํ๋์ ์ปจํ
์ด๋ ์์ฑ ์ ๋ณด
๋์ผํ ๋ฌผ๋ฆฌ ํด๋ฌ์คํฐ ๋ด์์ ๋ ผ๋ฆฌ์ ์ธ ๋ถ๋ฆฌ ๋จ์์ด๋ฉฐ, ๋ฆฌ์์ค๋ฅผ ๊ตฌ๋ถํ๋ ์ฉ๋
๋ค์ ์คํ์ด์ค ์์ฑ/์ญ์
kubectl create namespace[or ns] [๋ค์์คํ์ด์ค๋ช
]
kubectl delete namespace[or ns] [๋ค์์คํ์ด์ค๋ช
]
์ง์ ๋ ์ซ์๋งํผ์ Pod๊ฐ ํญ์ ์คํ๋๋๋ก ์ง์ (default : 1)
spec : replicas : 3
ex) ReplicaSet์ด ์ค์ ์ด ๋๋ฉด pod๋ฅผ ๊ฐ์ ์ข ๋ฃ์์ผ๋ ๊ณ์ pod๋ฅผ ๋ค์ ์์ฑํ์ฌ ์ ์ง์์ผ์ค๋ค.
์ธ๋ถ๋ก ๋
ธ์ถ๋ ์ปจํ
์ด๋์ ๋คํธ์ํฌ ํฌํธ ๊ด๋ฆฌ ์๋น์ค
ClusterIP : ํด๋ฌ์คํฐ ๋ด์์ POD๋ค์ ํด๋ฌ์คํฐ๋ง์ฉ IP
NodePort : ๋
ธ๋ ๋ฐ์์ ์ ๊ทผํ ๋ ํ ๋น๋๋
Loadbalancer : ํด๋ฌ์คํฐ ์ธ๋ถ์์ ์ ๊ทผํ ๋ ์ ๊ณต๋๋ IP
kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๋ cli tool
kubectl [command] [TYPE] [NAME] [flag]
Kubectl get pods # ํ๋ ๋ฆฌ์คํธ ์กฐํ
Kubectl get services # ์๋น์ค ๋ฆฌ์คํธ ์กฐํ
Kubectl apply โf py-app1.yml # py-app1.yml์ ์ ์๋ ๋ด์ฉ ์ ์ฉ
Kubectl delete โf py-app1.yml # py-app1.yml์ ์ ์๋ ๋ด์ฉ ์ ๊ฑฐ
Kubectl describe nodes my-node # my-node์ ๋ํ ์์ธ ์ ๋ณด ์ถ๋ ฅ
Kubectl delete pod zoo # zoo๋ผ๋ ํ๋ ์ญ์
์คํ์ค์ธ POD ํ์ธ
>kubectl get po -A
์ฐธ์กฐ :
https://docker.com
https://www.redhat.com/ko/topics/containers/what-is-container-orchestration