๋ชฉ์ฐจ
ย Cluster Architecture
ย Cluster
โข
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ ๋
ธ๋ ์ธํธ๋ก ๊ตฌ์ฑ๋๋๋ฐ ๋ฌผ๋ฆฌ์ , ๊ฐ์, ์จํ๋ ๋ฏธ์ค ๋๋ ํด๋ผ์ฐ๋์ผ ์ ์์
โข
๋๋ ์ปจํ
์ด๋ ํํ์ ์์ฉ ํ๋ก๊ทธ๋จ ํธ์คํธ์ผ ์ ์์
ย Master
Manage, Plan, Schedule, Monitor Nodes
โข
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์๋ก ๋ค๋ฅธ ๋
ธ๋์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์ด๋ค ์ปจํ
์ด๋๊ฐ ์ด๋๋ก ๊ฐ์ง ๊ณํํ๊ณ ๋
ธ๋์ ์ปจํ
์ด๋๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๋ฑ๋ฑ์ ์ฑ
์์ ๊ฐ์ง
ย ETCD
Key-Value Database
โข
์ด๋ค ์ปจํ
์ด๋๊ฐ ์ด๋์ ์๋์ง
โข
์ธ์ ์ปจํ
์ด๋๊ฐ ์์ฑ๋์๋์ง ๋ฑ์ ์ ์ฅ
ย kube-scheduler
โข
๋
ธ๋ ํฌ๊ธฐ ๋ฐ ๊ธฐํ ์กฐ๊ฑด๋ค์ ๊ธฐ์ค์ผ๋ก ์ปจํ
์ด๋์ ์์ ์ข
๋ฅ ๊ฒฐ์
โฆ
์ปจํ
์ด๋ ๋ฆฌ์์ค ์๊ตฌ์ฌํญ
โฆ
์์ปค ๋
ธ๋ ์ฉ๋
โฆ
๊ธฐํ ์ ์ฑ
์ด๋ ์ ์ฝ์กฐ๊ฑด
โฆ
ํ
์ธํธ ๋ฐ ํจ๋ก๋ ์ค ๋ฑ์ ๊ทผ๊ฑฐ
ย Controller-Manager
Node-Controller
โข
๋
ธ๋ ๊ด๋ฆฌ
โฆ
์ ๋
ธ๋๋ฅผ ํด๋ฌ์คํฐ์ ์จ๋ณด๋ฉ
โฆ
๋
ธ๋๊ฐ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ํ๊ดด๋๋ ์ํฉ ์ฒ๋ฆฌ
Replication-Controller
โข
์ํ๋ ์ปจํ
์ด๋ ์๊ฐ ๋ณต์ ๊ทธ๋ฃน์์ ํญ์ ์คํ๋๋๋ก ๋ณด์ฅ
ย kube-apiserver
โข
์ฟ ๋ฒ๋คํฐ์ค์ ์ฃผ์ ๊ด๋ฆฌ ๊ตฌ์ฑ ์์
โข
ํด๋ฌ์คํฐ ๋ด์์ ๋ชจ๋ ์์
์ ์ค์ผ์คํธ๋ ์ด์
ํจ
ย Worker Nodes
Host Application as Containers
ย Container Runtime Engine
โข
์ปจํ
์ด๋๋ฅผ ์คํํ๋ ์ํํธ์จ์ด
โข
ํด๋ฌ์คํฐ ๋ด ๋ชจ๋ ๋
ธ๋์ ์ค์น๋์ด ์์ (๋ง์คํฐ ํฌํจ) - ์ปจํธ๋กค ๊ตฌ์ฑ ์์๋ฅผ ์ปจํ
์ด๋๋ก ํธ์คํธํ ๊ฒฝ์ฐ)
โฆ
Docker
โฆ
Containerd
โฆ
Rocket
ย kubelet
An engine that runs on each node in a cluster
โข
kube-apiserver์ ์ง์๋ฅผ ํตํด ๋
ธ๋์์ ์ปจํ
์ด๋๋ฅผ ๋ฐฐํฌํ๊ฑฐ๋ ํ๊ดดํจ
โข
kube-apiserver๋ ๋
ธ๋์ ์ปจํ
์ด๋์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด kubelet์ผ๋ก๋ถํฐ ์ํ ๋ณด๊ณ ์๋ฅผ ๊ฐ์ ธ์ด
ย kube-proxy
worker node ๊ฐ์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ตฌ์ฑ ์์
โข
์์ปค ๋
ธ๋์ ํ์ํ ๊ท์น์ด ์ํ๋๋๋ก ํจ
โฆ
๊ทธ ์์ ์คํ๋๋ ์ปจํ
์ด๋๊ฐ ์๋ก ์ฐ๊ฒฐ๋๋๋ก