Container Orchestration
- ์ปจํ
์ด๋์ ์ฑ๋ฅ๊ณผ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ํธ์คํ
ํ๋ ๋ฐ ๋์์ ์ฃผ๋ ๋๊ตฌ์ ์คํฌ๋ฆฝํธ๋ก ๊ตฌ์ฑ
- ์ปจํ
์ด๋๊ฐ ์ฃฝ์ด์ ๋ค์ ์ด๋ ค์ผ ํ ๊ฒฝ์ฐ
- ํธ์คํธ๊ฐ ์ฃฝ์ด์ ๋ค๋ฅธ ํธ์คํธ๋ก ์ด๋ ค์ผ ํ ๊ฒฝ์ฐ
- Container Orchestration ์๋ฃจ์
์ Container ๋ฅผ ํธ์คํ
ํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ Host ๋ก ๊ตฌ์ฑ๋จ
- ์ปจํ
์ด๋๋ ํธ์คํธ๊ฐ ์ฃฝ์ด๋ ๋ค๋ฅธ ํธ์คํธ์ ์ปจํ
์ด๋๋ก ์์ธ์คํ ์ ์์
- Container Orchestration ์๋ฃจ์
์ ์ฌ์ฉํ๋ฉด ์๋ง์ ์ธ์คํด์ค๋ฅผ ๋ช
๋ น์ด ํ๋๋ก ๊ฐ๋จํ ๋ฐฐํฌ ๊ฐ๋ฅ
- Container Orchestration ์๋ฃจ์
์ ์คํ ์ค์ผ์ผ๋ง, ๋ก๋ ๋ฐธ๋ฐ์ฑ, ๋คํธ์ํน, ์คํ ๋ฆฌ์ง ๊ณต์ , ํด๋ฌ์คํธ ๋ด๋ถ ๊ตฌ์ฑ ๊ด๋ฆฌ ๋ฐ ๋ณด์ ๋ฑ ๋ง์ ๊ธฐ๋ฅ์ ์ง์ํจ
Kubernetes
Node
- Kubernetes ๊ฐ ์ค์น๋ ๋ฌผ๋ฆฌ ๋๋ ๊ฐ์ ๋จธ์
- Worker Node: Container ๊ฐ ์คํ๋๋ ๊ณณ
- Master Node: Kubernetes Control Plane ์ด ์ค์น๋ Node
- Cluster ๋ด๋ถ์ Node ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ Worker Node ์ Container Orchestration ์ ๊ด๋ฆฌ
Cluster
- ๊ทธ๋ฃนํ๋ Node ์ ์งํฉ
Components
- API Server
- k8s ์ ํ๋ก ํธ์๋ ์ญํ
- ์ฌ์ฉ์, ๊ด๋ฆฌ ์ฅ์น, CLI ๋ชจ๋ ์ด API Server ์ ํต์ ํ์ฌ k8s ์ ์ํธ์์ฉ
- etcd Server
- k8s ๊ฐ Cluster ๋ฅผ ๊ด๋ฆฌํ ๋ ์ฌ์ฉํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ etcd ๋ถ์ฐ ํค๊ฐ ์ ์ฅ์์ ์ ์ฅ๋จ
- kubelet Service
- Cluster ์ ๊ฐ Node ์์ ์คํ๋๋ Agent
- Container ๊ฐ Node ์์ ์์๋๋ก ์คํ๋๊ณ ์๋์ง ํ์ธ
- Container Runtime
- Docker ๊ณผ ๊ฐ์ Container ์คํ์ ํ์ํ ๊ธฐ๋ณธ ์ํํธ์จ์ด
- Controller
- k8s ์ ๋๋
- Node, Container, Endpoint ๊ฐ ๋ซํ ๋ ๊ฐ์งํ๊ณ ๋ฐ์
- Scheduler
- ์์
์ด๋ Container ๋ฅผ ์ฌ๋ฌ Node ์ ๋ฐฐํฌ
- ์๋ก ์์ฑ๋ Container ๋ฅผ ์ฐพ์ Node ์ ํ ๋น
kubectl
kubectl run --replicas=1000 my-web-server
kubectl scale --replicas=2000 my-web-server
kubectl rolling-update my-web-server --image=web-server:2
kubectl rolling-update my-web-server --rollback
- k8s ๋ฅผ ์ ์ดํ๋ k8s CLI
References