์ฟ ๋ฒ๋คํฐ์ค(Kubernetes)๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์๋์ผ๋ก ๊ด๋ฆฌํด์ฃผ๋ ๋๋ํ ์์คํ
์ด์์.
๊ทธ์ค์์๋ Pod๋ฅผ ์ด๋ป๊ฒ ๋ฐฐ์นํ๊ณ ์ ์งํ ์ง๋ฅผ ๋ด๋นํ๋ ๊ฒ์ด ๋ฐ๋ก ์ปจํธ๋กค๋ฌ(controller)์
๋๋ค.
์ด๋ฒ ๊ธ์์๋ ๋ํ์ ์ธ ์ธ ๊ฐ์ง ์ปจํธ๋กค๋ฌ์ธ ReplicaSet, StatefulSet, DaemonSet์ ๋น๊ตํด๋ณด๊ณ ,
๊ฐ๊ฐ์ ๋ชฉ์ , ์ฌ์ฉ ์๋๋ฆฌ์ค, ๋์ ๋ฐฉ์์ ๊ณ ๋ฑํ์๋ ์ดํดํ ์ ์๋๋ก ์ฝ๊ฒ ์ค๋ช
ํด๋ณผ๊ฒ์.
๋จผ์ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฌด์์ธ์ง๋ถํฐ ์ดํด๋ณผ๊ฒ์.
์ปจํธ๋กค๋ฌ๋ โ์ํ๋ ์ํโ๋ฅผ ์ ์งํ๋๋ก Pod๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํด์ฃผ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๊ด๋ฆฌ์์ ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ด๊ฐ โํญ์ 3๊ฐ์ ์น์๋ฒ๊ฐ ๋ ์์ด์ผ ํด!โ๋ผ๊ณ ๋ช
๋ นํ๋ฉด,
์ปจํธ๋กค๋ฌ๋ Pod๊ฐ ํ๋ ๊บผ์ง๋๋ผ๋ ๋ค์ ์๋์ผ๋ก ์๋ก ๋์์ค์.
โ ๋ชฉ์ : ๊ฐ์ Pod ์ฌ๋ฌ ๊ฐ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ปจํธ๋กค๋ฌ
์น ์๋ฒ๋ฅผ 3๊ฐ ๋์์ ์ฌ๋ฌ ์ฌ๋์ด ๋์์ ๋ค์ด์๋ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ณ ์ถ์ ๋
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: nginx
image: nginx
โ ๋ชฉ์ : ์์์ ์ด๋ฆ์ด ์ค์ํ Pod๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ ์ปจํธ๋กค๋ฌ
myapp-0, myapp-1, myapp-2์ฒ๋ผ ๊ณ ์ ๋จapiVersion: apps/v1
kind: StatefulSet
metadata:
name: db-stateful
spec:
serviceName: "db"
replicas: 3
selector:
matchLabels:
app: db
template:
metadata:
labels:
app: db
spec:
containers:
- name: mysql
image: mysql:5.7
โ ๋ชฉ์ : ๋ชจ๋ Node(์๋ฒ)๋ง๋ค ํ๋์ฉ Pod๋ฅผ ๋์ฐ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ์ปจํธ๋กค๋ฌ
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: log-agent
spec:
selector:
matchLabels:
app: logger
template:
metadata:
labels:
app: logger
spec:
containers:
- name: fluentd
image: fluent/fluentd
| ํญ๋ชฉ | ReplicaSet | StatefulSet | DaemonSet |
|---|---|---|---|
| ๋ชฉ์ | ๋์ผํ Pod๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ง | ๊ณ ์ ํ Pod ์ด๋ฆ๊ณผ ์์ ๊ด๋ฆฌ | ๋ชจ๋ Node๋ง๋ค Pod ์คํ |
| Pod ์ด๋ฆ | ๋๋ค | ๊ณ ์ (ex: app-0, app-1) | ๋๋ค |
| ์คํ ์์ | ์๊ด์์ | ์์ ๋ณด์ฅ | ๋ชจ๋ Node์์ ์๋ ์คํ |
| ์ ์ฅ ๋ฐ์ดํฐ | ์ ์ฅ์ ์ ์ง ์ ํจ | ๊ฐ Pod๊ฐ ์์ ์ ์ ์ฅ์ ์ ์ง | ์ฃผ๋ก ๋ก๊ทธ๋ ๋ชจ๋ํฐ๋ง์ฉ |
| ์์ ์ฉ๋ | ์น ์๋ฒ, API ์๋ฒ | ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฉ์์ง ๋ธ๋ก์ปค | ๋ก๊ทธ ์์ง, ๋ณด์ ๊ฒ์ฌ, ๋ชจ๋ํฐ๋ง |
+---------------------+
| ReplicaSet |
+---------------------+
| | |
Pod Pod Pod
+----------------------+
| StatefulSet |
+----------------------+
| | |
Pod-0 Pod-1 Pod-2 (์์ ๋ณด์ฅ, ์ด๋ฆ ๊ณ ์ )
+โโโ+ +โโโ+ +โโโ+ | Node 1 | | Node 2 | | Node 3 | | Pod | | Pod | | Pod | +โโโ+ +โโโ+ +โโโ+
๐ ์ด ์ธ ๊ฐ์ง ์ปจํธ๋กค๋ฌ๋ง ์ ์ดํดํด๋, ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ํจ์ฌ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์์ด์!
๐ ์ฐธ๊ณ ์๋ฃ: