์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์์๋ณด๊ธฐ ์์, ์ค์ผ์คํธ๋ ์ด์ ๊ณผ ๊ทธ์ ๊ด๋ จํ ๊ฐ๋ ๋ค์ ์์๋ณด์!!
๊ธฐ๋ณธ๊ฐ๋
๋ก๋๋ฐธ๋ฐ์ฑ
- ๊ฐ๋ : ์ฌ๋ฌ ์ปจํ ์ด๋์ ์์ฒญ์ ๋ถ์ฐ์์ผ ๋ถํ๋ฅผ ๊ท ๋ฑํ๊ฒ ๋ฐฐ๋ถํ๋ ๊ฒ
- ๋ฐฉ๋ฒ: ๋ก๋๋ฐธ๋ฐ์ฑ ์ฅ์น๊ฐ ์ปจํ ์ด๋ ์์ ๋ฐฐ์น๋๋ค. ์ด๋ฅผ ํตํด ์ปจํ ์ด๋๋น ๋ถํ๋ฅผ ์ค์ด๊ณ ์ฒ๋ฆฌ ์๊ฐ ๋จ์ถ ๊ฐ๋ฅ
ํฌ์ค ์ฒดํฌ
- ๊ฐ๋ : ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์คํ ์ค์ธ์ง ์ฌ๋ถ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ํ๋ก์ธ์ค
- ๋ฐฉ๋ฒ: ์ปจํ ์ด๋์ ์์ฒญ์ ๋ณด๋ด๊ณ ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์๋ต์ ๋ฐํํ๋์ง ํ์ธ. ๋ง์ฝ ์๋ต์ด ๋ฐํ๋์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์ฌ๊ธฐ๊ณ , ํด๋น ์ปจํ ์ด๋๋ฅผ ๋นํ์ฑํํ์ฌ ์์คํ ์ด ์ ์์ ์ผ๋ก ๊ฐ๋๋๋ ์๊ฐ์ ๋๋ฆฐ๋ค. (= ๊ฐ์ฉ์ฑ์ ์ ์งํ๋ค.)
์ค์ผ์ผ๋ง
- ๊ฐ๋ : ์์ฒญ ๊ท๋ชจ์ ๋ฐ๋ผ ์ปจํ ์ด๋ ์๋ฅผ ์กฐ์ ํ๋ ๊ฒ
- ๋ฐฉ๋ฒ:์๊ณ๊ฐ์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ์ ์ง
- ์์ง์ ์ค์ผ์ผ๋ง
- ์ํ์ ์ค์ผ์ผ๋ง
์ค์ผ์คํธ๋ ์ด์
- ๊ฐ๋ : ์ปจํ ์ด๋์ ๊ด๋ฆฌ ๋ฐ ์ด์์ ์๋ํํ๋ ํ๋ก์ธ์ค
- ํ์์ฑ: ์ปจํ ์ด๋๊ฐ ์๋์ผ๋ก ๊ด๋ฆฌ๋๋ฉด ๊ฐ ์ปจํ ์ด๋๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์๋์ด ์๋ง์ง์ฐฝ์ผ๋ก ๋์๋ค๋ ๊ฒ! ์ค์ผ์คํธ๋ ์ด์ ์ ํตํด ์ผ๊ด์ฑ ์๊ณ ํจ์จ์ ์ธ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
- ์์ ์ค๋ช ํ ๋ก๋๋ฐธ๋ฐ์ฑ, ํฌ์ค์ฒดํฌ๋ ์๋์ผ๋ก ์คํํ ์ ์์ง๋ง, ๊ด๋ฆฌํด์ผํ ์ปจํ ์ด๋์ ์๊ฐ ์ฆ๊ฐํ๋ฉด ์ด๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ต๋ค.
- ์ปจํ ์ด๋๋ฅผ ํ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ณด๊ธ๋๊ณ ๊ทธ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ์ ํ์์ฑ์ ๋์ฑ ์ปค์ง๊ฒ์ด๋ค.
์ฟ ๋ฒ๋คํฐ์ค

- ๊ฐ๋
: ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ ์ค์ผ์คํธ๋ ์ด์
(์ปค๋์ด ๊ด๋ฆฌ ๋ฐ ์ด์ ์๋ํ) ๋๊ตฌ
- ๋ค์์ ์ปจํ ์ด๋๋ฅผ ํจ์จ์ ์ผ๋ก ๋ฐฐํฌ, ํ์ฅ ๋ฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ์คํ์์ค ์์คํ
- ์ฟ ๋ฒ๋คํฐ์ค๋ง๊ณ ๋ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ(๋์ปค ์ค์๋ชจ๋ ๋ฑ)๊ฐ ์์ง๋ง, ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ํ์ค์ด ๋์๋ค.
๊ธฐ๋ฅ
๊ฐ๋ฅํ ๊ธฐ๋ฅ
- ์ปจํ ์ด๋ ๊ด๋ฆฌ ๋ฐ ์ด์ ์๋ํ: ์ปจํ ์ด๋๋ฅผ ํ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ ๊ฐ์ํํ๊ณ , ํ์์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๋ถ์ฐํ ์ ์๋ค.
- ํฌ์ค ์ฒดํฌ ๋ฐ ์ฌ์์: ์ปจํ ์ด๋์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ , ์คํจํ ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ์ฌ์์
- ์๋ํฌ์ธํธ ์ ๊ณต ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ: ์ปจํ ์ด๋์ ๋ํ ์ ๊ทผ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์์ฒญ์ ์ฌ๋ฌ ์ปจํ ์ด๋๋ก ๋ถ์ฐ
- ์ปจํ ์ด๋ ๋ฐฐํฌ ๋ฐ ๋กค๋ง ์ ๋ฐ์ดํธ: ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ๋ฒ์ ์ ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ๊ณ , ํ์์ ๋กค๋ฐฑ
- ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ: ์ปจํ ์ด๋์ ์ฐ๋๋ ์คํ ๋ฆฌ์ง๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ
- ๊ธฐ๋ฐ ์ ๋ณด ๋ฐ ๊ตฌ์ฑ ์ ๋ณด ์ ์ฅ: ์ค์ํ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ณ ๊ด๋ฆฌ
์ ํ ๊ธฐ๋ฅ
- ์๋ ๋น๋ ๋ฐ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฅ: ์ฟ ๋ฒ๋คํฐ์ค๋ ์๋์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ฑฐ๋ ๋ฉ์์ง ๋ธ๋ก์ปค, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์๋๋ค.
- ํ๋์จ์ด ์๋ฒ ๊ด๋ฆฌ: ์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ ์ด๋์ ํด๋ฌ์คํฐ ๊ด๋ฆฌ์ ์ค์ ์ ๋๋ฉฐ, ์๋ฒ์ ํ๋์จ์ด๋ ์ด์์ฒด์ ์์ฒด๋ฅผ ๊ด๋ฆฌํ์ง ์๋๋ค.
- ๋ก๊ทธ ๊ธฐ๋ก ๋ฐ ๊ฐ์: ๊ธฐ๋ณธ์ ์ผ๋ก ๋ก๊ทธ ๊ธฐ๋ก์ด๋ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด ๋ค๋ฅธ ๋๊ตฌ์์ ์ฐ๋์ด ํ์
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ
- ์ ์: ๋๋์ ์ปจํ ์ด๋์ ์๋ฒ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ด์ํ๋ ์์คํ ์ ์งํฉ
- ๋ ธ๋: ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ ์๋ฒ
๋ ธ๋์ ์ ํ

- ์์ปค ๋ ธ๋: ์ค์ ๋ก ํ๋(์ปจํ ์ด๋๋ฅผ ์คํํ๋ ์ต์ ๋จ์)๋ฅผ ๊ตฌ๋ํ๋ ๋ ธ๋
- ๋ง์คํฐ ๋ ธ๋: ์์ปค ๋ ธ๋๋ฅผ ์ ์ดํ๊ณ ๊ด๋ฆฌํ๋ ๋ ธ๋๋ก, ํ๋์ ๋ฐฐ์น์ ์ค์ผ์ค๋ง์ ๋ด๋น
ํ๋

- ์ ์: ํ๋๋ ํ๋ ์ด์์ ์ปจํ ์ด๋๋ฅผ ํฌํจํ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๊ด๋ฆฌํ๋ ์ต์ ๋จ์
- ๊ฐ์ ํ๋ ๋ด์ ์ปจํ ์ด๋๋ ๋คํธ์ํฌ์ ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ๋ฉฐ, ์๋ก ๋ฐ์ ํ๊ฒ ํ๋ ฅํ๋ค.
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค: ์ฌ์ฉ์๋ ์ง์ ์์ปค ๋ ธ๋์์ ํ๋๋ฅผ ์คํํ์ง ์๊ณ , ๋ง์คํฐ ๋ ธ๋๋ฅผ ํตํด ํ๋๋ฅผ ๊ด๋ฆฌ
- ์ฃผ์ ํน์ฑ
- ๋คํธ์ํฌ ๊ณต์ : ๊ฐ์ ํ๋์ ํฌํจ๋ ์ปจํ ์ด๋๋ค์ ๋์ผํ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๊ณต์ ํ๋ค. ์ฆ, ๊ฐ์ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๊ณ , ๋ก์ปฌ ํธ์คํธ๋ฅผ ํตํด ์๋ก ํต์ ๊ฐ๋ฅ
- ์คํ ๋ฆฌ์ง ๊ณต์ : ํ๋ ๋ด์ ์ปจํ ์ด๋๋ค์ ๊ฐ์ ๋ณผ๋ฅจ์ ๋ง์ดํธํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์
- ๋ผ์ดํ์ฌ์ดํด: ๊ฐ์ ํ๋์ ํฌํจ๋ ์ปจํ ์ด๋๋ ๊ฐ์ ๋ผ์ดํ์ฌ์ดํด์ ๊ฐ๋๋ค. ์ฆ, ํ๋๊ฐ ์์ฑ๋๊ฑฐ๋ ์ญ์ ๋ ๋ ๋ชจ๋ ์ปจํ ์ด๋๊ฐ ํจ๊ป ์์ฑ๋๊ฑฐ๋ ์ญ์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ๋ผ์ ์ปจํ ์ด๋ A, ์ปจํ ์ด๋ B๊ฐ ๊ฐ์ ํ๋์ ์๋ค๋ฉด, ์ปจํ ์ด๋ A๋ง ๊ตฌ๋ํ๊ณ ๋ ์ปจํ ์ด๋ A๋ง ๊ตฌ๋ํ ์ ์๋ค.
.yaml ํ์ผ
apiVersion: v1 # Pod๋ฅผ ์์ฑํ ๋๋ v1์ด๋ผ๊ณ ๊ธฐ์ฌํ๋ค.
kind: Pod # Pod๋ฅผ ์์ฑํ๋ค๊ณ ๋ช
์
metadata:
name: nginx-pod # Pod ์ด๋ฆ
spec:
containers:
- name: nginx-container # ์์ฑํ ์ปจํ
์ด๋์ ์ด๋ฆ
image: nginx # ์ปจํ
์ด๋๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ Docker ์ด๋ฏธ์ง
ports:
- containerPort: 80
์ด๋ spec.containers.ports.containerPort : ์ค์ ์๋์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค. ๋ช ์์ ์ผ๋ก ๋ํ๋ด๊ธฐ ์ํ ๋ฌธ์ํ์ฉ
์ฆ, ์ด์ฐจํผ 80๋ฒ ํฌํธ์์ ์คํ๋๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค๋ ์์ .yamlํ์ผ์ Manifest File์ด๋ผ ํ๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค์์ ๋ค์ํ ๋ฆฌ์์ค(ํ๋, ์๋น์ค, ๋ณผ๋ฅจ ๋ฑ)์ ์์ฑํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ
์ปจํ ์ด๋ ๋ฐฐ์น ๊ธฐ์ค
- ๋ฐ์ ํ ๊ด๊ณ: ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ํ๋์ ํฌํจ๋ ์ปจํ
์ด๋๋ค์ ์๋ก ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์์ด์ผ ํ๋ค.
- ์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ๊ฐ์ ํ๋์ ๋๋ฉด ์ข๋ค.
- ์ํธ ์์ฉ: ์๋ก ๊ธด๋ฐํ๊ฒ ์ํธ ์์ฉํ๋ ์ปจํ
์ด๋๋ค์ ๊ฐ์ ํ๋์ ํฌํจ
- ์ด๋ ๋คํธ์ํฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํจ
- ๋ ๋ฆฝ์ฑ: ์ปจํ ์ด๋๊ฐ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํด์ผ ํ๋ค๋ฉด, ๊ฐ์ ํ๋์ ํฌํจํ ํ์๋ ์๋ค. ์ด์ฐจํผ ๋คํธ์ํน ๊ธฐ๋ฅ์ ํตํด ์๋ก ๋ค๋ฅธ ํ๋์ ์๋ ์ปจํ ์ด๋๋ค๋ ํต์ ํ ์ ์๋ค.
ํ๋์ ํ์์ฑ(์ ์ฌ์ฉํด์ผ ํ ๊น?)
- ์ด์ ๋ถํ ๊ฒฝ๊ฐ: ์ปจํ ์ด๋์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ฉด ์ง์ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํด์ผ ํ์ง๋ง, ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ๊ฐ์ ํ๋์ ํฌํจ์ํค๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์ด๋ค์ ๊ด๋ฆฌํ๊ณ , ๋ผ์ดํ์ฌ์ดํด์ ์ผ์น์ผ์ ์๋์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ ๋ถ๋ด์ ์ค์ธ๋ค.
- ๋ฆฌ์์ค ์๋น ์ต์ ํ: ํ๋ ๋ด์ ์ปจํ ์ด๋๋ค์ด ๊ณต์ ํ๋ ๋ฆฌ์์ค(์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ) ๋๋ถ์ ๋ฆฌ์์ค ์๋น๋ฅผ ์ต์ ํ ๊ฐ๋ฅ
- ํจํค์ง ๊ด๋ฆฌ: ์ปจํ ์ด๋๋ณ๋ก ํ์ํ ์ต์ํ์ ํจํค์ง๋ง ์ค์นํ์ฌ, ๋ถํ์ํ ์์ ๊ณผ ๋ฆฌ์์ค ๋ญ๋น๋ฅผ ์ค์ธ๋ค.
ํ๋์ ๋์์ธ ํจํด
- One-Container-Per-Pod: ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํจํด์ผ๋ก, ํ๋ ๋น ํ๋์ ์ปจํ ์ด๋๋ฅผ ์คํ. ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ ์ฉ
- Sidecar ์ปจํ
์ด๋: ํ๋์ ์ฃผ ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋์ ํจ๊ป ๋ณด์กฐ ์ญํ ์ ํ๋ ์ปจํ
์ด๋๋ฅผ ํฌํจํ๋ ํจํด
- ์๋ฅผ ๋ค์ด, ๋ก๊ทธ ์์ง๊ธฐ, ๋ชจ๋ํฐ๋ง ๋๊ตฌ ๋ฑ์ด Sidecar ์ปจํ ์ด๋๋ก ๋์ํ ์ ์๋ค.
Deployments and ReplicaSets

- ๊ฐ๋ : ํ๋ ๊ด๋ฆฌ ๋ฐฉ์, ReplicaSet์ ๊ทธ๋ฃนํํ๊ณ ๊ด๋ฆฌํ๋ ๋จ์
- ํ๋๋ ํ๋ ์ด์์ ์ปจํ ์ด๋ ๊ทธ๋ฃน, ๋ ํ๋ฆฌ์นด์ ์ ํ๋ ์ด์์ ํ๋ ๊ทธ๋ฃน, ๋ํ๋ก์ด๋จผํธ๋ ํ๋์ด์์ ๋ ํ๋ฆฌ์นด์ ๊ทธ๋ฃน
- ํ๋๋ ๋ค๋ฅธ ์ ํ์ ์ปจํ ์ด๋ ํฌํจ, ๋ ํ๋ฆฌ์นด์ ์ ๊ฐ์ ์ ํ์ ํ๋๋ง ํฌํจ, ๋ํ๋ก์ด๋จผํธ๋ ๋ค๋ฅธ ์ ํ ํฌํจ ๊ฐ๋ฅํ๋ ๊ฐ์ ๋ ํ๋ฆฌ์นด์ ์ ๋ค๋ฅธ ๋ฒ์ ์ ํฌํจ
ReplicaSet
- ๊ฐ๋ : ์ฟ ๋ฒ๋คํฐ์ค์์ ํ๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ ๋จ์๋ก, ์ง์ ํ ์๋งํผ์ ํ๋ ๋ณต์ ๋ฅผ ์ ์งํ๋ ์ญํ
- ์ญํ
- ํฌ์ค ์ฒดํฌ: ํ๋์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ , ์คํจํ ํ๋๋ฅผ ์๋์ผ๋ก ์ฌ์์ํ์ฌ ์์คํ ์ ์์ ์ฑ์ ์ ์งํ๋ค.
- ์ค์ผ์ผ๋ง: ํ๋์ ์๋ฅผ ๋์ ์ผ๋ก ์กฐ์ -> ์์ฒญ์ ์์ ๋ฐ๋ผ ํ๋๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์๋ค.
- ๋กค๋ง ์ ๋ฐ์ดํธ: ์ค๋๋ ๋ ํ๋ฆฌ์นด์ ์ ํ๋ ์๋ ์ค์ด๊ณ , ์ ๋ ํ๋ฆฌ์นด์ ์ ํ๋ ์๋ ๋๋ ค ํ๋์ ์๋ก์ด ๋ฒ์ ์ ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ ์ ์์ด, ๋ค์ดํ์์ ์ต์ํํ๊ณ ์์ ์ฑ์ ๋์ธ๋ค.
Deployment
- ๊ฐ๋ : ์ฟ ๋ฒ๋คํฐ์ค์์ ReplicaSet์ ๊ด๋ฆฌํ๋ ์์ ๊ฐ๋ , ๋ ํ๋ฆฌ์นด์ ์ด ์ ์งํ๋ ํ๋ ์๋ฅผ ์ฆ๊ฐํ๊ฑฐ๋ ๋ ํ๋ฆฌ์นด์ ์ ์์ฑ
- ์ญํ
- ReplicaSet ๊ด๋ฆฌ: ์ฌ์ฉ์๊ฐ ์ ์ํ ํ๋์ ๊ฐ์๋ฅผ ์ ์งํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ReplicaSet์ ์์ฑ ๋ฐ ์กฐ์ ํ๋ค
- ๋กค๋ง ์ ๋ฐ์ดํธ: ๊ธฐ์กด ํ๋๋ฅผ ์ ์ง์ ์ผ๋ก ๋์ฒดํ์ฌ ๋ค์ดํ์ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ดํธํ ์ ์๋ค.
- ๋กค๋ฐฑ: ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ์ฝ๊ฒ ๋๋๋ฆด ์ ์์ด ์๋น์ค์ ์์ ์ฑ์ ๋ณด์ฅํ๋ค.
- ์ค์ผ์ผ๋ง: ์๋ ๋๋ ์๋์ผ๋ก ํ๋ ๊ฐ์๋ฅผ ์กฐ์ ํ์ฌ ํธ๋ํฝ ๋ณํ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๋ค.
- Self-healing: ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์๋์ผ๋ก ํ๋๋ฅผ ์ฌ์์ฑํ์ฌ ์๋น์ค ๊ฐ์ฉ์ฑ์ ์ ์งํ๋ค.
๋ํ๋ก์ด๋จผํธ๊ฐ ํ์ํ ์ด์ : ์์ ์ ํฌํจํ๋ ๋ ํ๋ฆฌ์นด์ ์ด๋ ํ๋๋ฅผ ์๋์ผ๋ก ๊ฐฑ์ ํ๊ธฐ ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ๊ณ ์๊ธฐ ๋๋ฌธ
๋ ํ๋ฆฌ์นด์ ์ผ๋ก ํ๋ ์๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ์ ์ค์ผ์ผ๋ง,๋กค๋ง ์ ๋ฐ์ดํธ ๋์ง๋ง, ๋ํ๋ก์ด๋จผํธ ์ฌ์ฉํ๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์๋์ผ๋ก ํ๋ ์ ์กฐ์ ํ๊ณ ์ ๋ ํ๋ฆฌ์นด ์ ์ ๋ง๋ค ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ๋ ํ๋ฆฌ์นด์ ์ ๋ค๋ฅธ ๋ฒ์ ์ ํฌํจํ๋ค.
์ปจํธ๋กค๋ฌ
- ๊ฐ๋ : ํ์ฌ ์ํ์์ ์ค์ ํ ์ํ๋ก ๋ง๋๋ ๋งค์ปค๋์ฆ์ผ๋ก, ํ์ฌ ์ํ์ ์ค์ ํ ์ํ๊ฐ ์ฐจ์ด๊ฐ ์์๋ ์ด๋ฅผ ์กฐ์ ํ์ฌ ์ํ๋ฅผ ์ผ์น์ํจ๋ค.
deployment == deployment controller?
- Deployment๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ์ ์ํ๋ ๋ฆฌ์์ค๋ก, ์ฌ์ฉ์๊ฐ ์ํ๋ ํ๋์ ๊ฐ์, ์ ๋ฐ์ดํธ ๋ฐฉ์, ๋กค๋ฐฑ ์ ๋ต ๋ฑ์ ์ ์ธ์ ์ผ๋ก ์ค์ ํ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋กค๋ง ์ ๋ฐ์ดํธ ๋ฐฉ์์ผ๋ก ๋ฐฐํฌํ๊ฑฐ๋, ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ด์ ๋ฒ์ ์ผ๋ก ์ฝ๊ฒ ๋๋๋ฆด ์ ์์ผ๋ฉฐ, ํ์์ ๋ฐ๋ผ ํ๋ ๊ฐ์๋ฅผ ์กฐ์ ํ์ฌ ํธ๋ํฝ ๋ณํ์ ๋์ํ ์๋ ์๋ค. ํ์ง๋ง Deployment ์์ฒด๋ ๋จ์ํ ๋ฐฐํฌ ์ ๋ต์ ์ ์ํ๋ ์ญํ ๋ง ํ๋ฉฐ, ์ด๋ฅผ ์ค์ ๋ก ์คํํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ Deployment Controller๋ค.
- Deployment Controller๋ ์ฟ ๋ฒ๋คํฐ์ค์ ์ปจํธ๋กค๋ฌ ์ค ํ๋๋ก, Deployment๊ฐ ๊ธฐ๋ํ๋ ์ํ๋ฅผ ์ ์งํ๋๋ก ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ์ํ ์กฐ์น๋ฅผ ์ํํ๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์๋ก์ด Deployment๋ฅผ ์์ฑํ๋ฉด Deployment Controller๋ ์ด๋ฅผ ๊ฐ์งํ๊ณ , ๋ด๋ถ์ ์ผ๋ก ReplicaSet์ ์์ฑํ์ฌ ์ง์ ๋ ๊ฐ์๋งํผ์ ํ๋๋ฅผ ๋ฐฐํฌํ๋ค. ๋ํ, ๊ธฐ์กด Deployment๋ฅผ ์ ๋ฐ์ดํธํ ๊ฒฝ์ฐ, ์ด์ ReplicaSet์ ํ๋ ๊ฐ์๋ฅผ ์ค์ด๋ฉด์ ์๋ก์ด ReplicaSet์ ํ๋๋ฅผ ์ ์ง์ ์ผ๋ก ๋๋ฆฌ๋ ๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ํํ์ฌ ์๋น์ค์ ์ค๋จ์ ์ต์ํํ๋ค. ๋ง์ฝ ๋ฐฐํฌ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด Deployment Controller๋ ์ด๋ฅผ ๊ฐ์งํ๊ณ , ์ฌ์ฉ์๊ฐ ์ค์ ํ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋กค๋ฐฑ์ ์ํํ ์๋ ์๋ค. ์ฆ, Deployment Controller๋ Deployment์ ๋ชฉํ ์ํ์ ์ค์ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ๋น๊ตํ๋ฉด์, ๋ถ์ผ์น๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ ์ ์ผ๋ก ์ด์๋๋๋ก ๋ณด์ฅํ๋ ์ญํ ์ ํ๋ค.
๊ตฌ์กฐ ์ ๋ฆฌ
- Pod: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค์ ๋ก ์คํ๋๋ ์ต์ ๋ฐฐํฌ ๋จ์
- ReplicaSet: ์ฌ๋ฌ ๊ฐ์ Pod๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ง์ ๋ ๊ฐ์๋ฅผ ์ ์งํ๋ ์ญํ
- Deployment: ReplicaSet์ ์์ฑํ๊ณ , ํ๋์ ๋ฐฐํฌ, ์ ๋ฐ์ดํธ, ๋กค๋ฐฑ, ์ค์ผ์ผ๋ง์ ์ ์ธ์ ์ผ๋ก ์ ์ํ๋ ๋ฆฌ์์ค
- Deployment Controller: Deployment ๊ฐ์ฒด๋ฅผ ๊ฐ์ํ๊ณ , ๋ชฉํ ์ํ(ReplicaSet ๊ฐ์, ํ๋ ์ํ ๋ฑ)๋ฅผ ์ ์งํ๋๋ก ๊ด๋ฆฌ
์ฆ, Deployment โ ReplicaSet โ Pod ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฐฐํฌ ๊ตฌ์กฐ์ด๊ณ , ์ด๋ฅผ ์ง์์ ์ผ๋ก ๊ฐ์ํ๊ณ ์ ์งํ๋ ์ปจํธ๋กค๋ฌ๊ฐ Deployment Controller
๋ค์ ๋ฐฐ์ธ ๊ฒ๋ค์ ์์ธ๋ฌ ์๋น์ค, ๋ํ๋ก์ด๋จผํธ, ํ๋ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ํตํ์ด์ Object๋ผ ํ๋ค.
์ฐธ๊ณ
https://www.copado.com/resources/blog/kubernetes-deployment-vs-service-managing-your-pods
'๐ณ ์ธํ๋ผ > Kubernetes' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฟ ๋ฒ๋คํฐ์ค ์ค์ ํ์ผ (0) | 2025.04.01 |
---|---|
์ฟ ๋ฒ๋คํฐ์ค ๋ก์ปฌ ์ค์ต (0) | 2025.03.31 |
์ฟ ๋ฒ๋คํฐ์ค ๋ก๋๋ฐธ๋ฐ์ฑ ๋ฐ ํฌ์ค์ฒดํฌ (0) | 2025.03.22 |
์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค์ ํ๋ผ๋ฌ (0) | 2025.03.19 |
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์์๋ณด๊ธฐ ์์, ์ค์ผ์คํธ๋ ์ด์ ๊ณผ ๊ทธ์ ๊ด๋ จํ ๊ฐ๋ ๋ค์ ์์๋ณด์!!
๊ธฐ๋ณธ๊ฐ๋
๋ก๋๋ฐธ๋ฐ์ฑ
- ๊ฐ๋ : ์ฌ๋ฌ ์ปจํ ์ด๋์ ์์ฒญ์ ๋ถ์ฐ์์ผ ๋ถํ๋ฅผ ๊ท ๋ฑํ๊ฒ ๋ฐฐ๋ถํ๋ ๊ฒ
- ๋ฐฉ๋ฒ: ๋ก๋๋ฐธ๋ฐ์ฑ ์ฅ์น๊ฐ ์ปจํ ์ด๋ ์์ ๋ฐฐ์น๋๋ค. ์ด๋ฅผ ํตํด ์ปจํ ์ด๋๋น ๋ถํ๋ฅผ ์ค์ด๊ณ ์ฒ๋ฆฌ ์๊ฐ ๋จ์ถ ๊ฐ๋ฅ
ํฌ์ค ์ฒดํฌ
- ๊ฐ๋ : ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์คํ ์ค์ธ์ง ์ฌ๋ถ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ํ๋ก์ธ์ค
- ๋ฐฉ๋ฒ: ์ปจํ ์ด๋์ ์์ฒญ์ ๋ณด๋ด๊ณ ์ปจํ ์ด๋๊ฐ ์ ์์ ์ผ๋ก ์๋ต์ ๋ฐํํ๋์ง ํ์ธ. ๋ง์ฝ ์๋ต์ด ๋ฐํ๋์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์ฌ๊ธฐ๊ณ , ํด๋น ์ปจํ ์ด๋๋ฅผ ๋นํ์ฑํํ์ฌ ์์คํ ์ด ์ ์์ ์ผ๋ก ๊ฐ๋๋๋ ์๊ฐ์ ๋๋ฆฐ๋ค. (= ๊ฐ์ฉ์ฑ์ ์ ์งํ๋ค.)
์ค์ผ์ผ๋ง
- ๊ฐ๋ : ์์ฒญ ๊ท๋ชจ์ ๋ฐ๋ผ ์ปจํ ์ด๋ ์๋ฅผ ์กฐ์ ํ๋ ๊ฒ
- ๋ฐฉ๋ฒ:์๊ณ๊ฐ์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ์ ์ง
- ์์ง์ ์ค์ผ์ผ๋ง
- ์ํ์ ์ค์ผ์ผ๋ง
์ค์ผ์คํธ๋ ์ด์
- ๊ฐ๋ : ์ปจํ ์ด๋์ ๊ด๋ฆฌ ๋ฐ ์ด์์ ์๋ํํ๋ ํ๋ก์ธ์ค
- ํ์์ฑ: ์ปจํ ์ด๋๊ฐ ์๋์ผ๋ก ๊ด๋ฆฌ๋๋ฉด ๊ฐ ์ปจํ ์ด๋๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์๋์ด ์๋ง์ง์ฐฝ์ผ๋ก ๋์๋ค๋ ๊ฒ! ์ค์ผ์คํธ๋ ์ด์ ์ ํตํด ์ผ๊ด์ฑ ์๊ณ ํจ์จ์ ์ธ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
- ์์ ์ค๋ช ํ ๋ก๋๋ฐธ๋ฐ์ฑ, ํฌ์ค์ฒดํฌ๋ ์๋์ผ๋ก ์คํํ ์ ์์ง๋ง, ๊ด๋ฆฌํด์ผํ ์ปจํ ์ด๋์ ์๊ฐ ์ฆ๊ฐํ๋ฉด ์ด๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ต๋ค.
- ์ปจํ ์ด๋๋ฅผ ํ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ณด๊ธ๋๊ณ ๊ทธ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ์ ํ์์ฑ์ ๋์ฑ ์ปค์ง๊ฒ์ด๋ค.
์ฟ ๋ฒ๋คํฐ์ค

- ๊ฐ๋
: ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ ์ค์ผ์คํธ๋ ์ด์
(์ปค๋์ด ๊ด๋ฆฌ ๋ฐ ์ด์ ์๋ํ) ๋๊ตฌ
- ๋ค์์ ์ปจํ ์ด๋๋ฅผ ํจ์จ์ ์ผ๋ก ๋ฐฐํฌ, ํ์ฅ ๋ฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ์คํ์์ค ์์คํ
- ์ฟ ๋ฒ๋คํฐ์ค๋ง๊ณ ๋ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ(๋์ปค ์ค์๋ชจ๋ ๋ฑ)๊ฐ ์์ง๋ง, ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ํ์ค์ด ๋์๋ค.
๊ธฐ๋ฅ
๊ฐ๋ฅํ ๊ธฐ๋ฅ
- ์ปจํ ์ด๋ ๊ด๋ฆฌ ๋ฐ ์ด์ ์๋ํ: ์ปจํ ์ด๋๋ฅผ ํ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ ๊ฐ์ํํ๊ณ , ํ์์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๋ถ์ฐํ ์ ์๋ค.
- ํฌ์ค ์ฒดํฌ ๋ฐ ์ฌ์์: ์ปจํ ์ด๋์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ , ์คํจํ ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ์ฌ์์
- ์๋ํฌ์ธํธ ์ ๊ณต ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ: ์ปจํ ์ด๋์ ๋ํ ์ ๊ทผ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์์ฒญ์ ์ฌ๋ฌ ์ปจํ ์ด๋๋ก ๋ถ์ฐ
- ์ปจํ ์ด๋ ๋ฐฐํฌ ๋ฐ ๋กค๋ง ์ ๋ฐ์ดํธ: ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ๋ฒ์ ์ ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ๊ณ , ํ์์ ๋กค๋ฐฑ
- ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ: ์ปจํ ์ด๋์ ์ฐ๋๋ ์คํ ๋ฆฌ์ง๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ
- ๊ธฐ๋ฐ ์ ๋ณด ๋ฐ ๊ตฌ์ฑ ์ ๋ณด ์ ์ฅ: ์ค์ํ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ณ ๊ด๋ฆฌ
์ ํ ๊ธฐ๋ฅ
- ์๋ ๋น๋ ๋ฐ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฅ: ์ฟ ๋ฒ๋คํฐ์ค๋ ์๋์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ฑฐ๋ ๋ฉ์์ง ๋ธ๋ก์ปค, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์๋๋ค.
- ํ๋์จ์ด ์๋ฒ ๊ด๋ฆฌ: ์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ ์ด๋์ ํด๋ฌ์คํฐ ๊ด๋ฆฌ์ ์ค์ ์ ๋๋ฉฐ, ์๋ฒ์ ํ๋์จ์ด๋ ์ด์์ฒด์ ์์ฒด๋ฅผ ๊ด๋ฆฌํ์ง ์๋๋ค.
- ๋ก๊ทธ ๊ธฐ๋ก ๋ฐ ๊ฐ์: ๊ธฐ๋ณธ์ ์ผ๋ก ๋ก๊ทธ ๊ธฐ๋ก์ด๋ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด ๋ค๋ฅธ ๋๊ตฌ์์ ์ฐ๋์ด ํ์
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ
- ์ ์: ๋๋์ ์ปจํ ์ด๋์ ์๋ฒ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ด์ํ๋ ์์คํ ์ ์งํฉ
- ๋ ธ๋: ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ ์๋ฒ
๋ ธ๋์ ์ ํ

- ์์ปค ๋ ธ๋: ์ค์ ๋ก ํ๋(์ปจํ ์ด๋๋ฅผ ์คํํ๋ ์ต์ ๋จ์)๋ฅผ ๊ตฌ๋ํ๋ ๋ ธ๋
- ๋ง์คํฐ ๋ ธ๋: ์์ปค ๋ ธ๋๋ฅผ ์ ์ดํ๊ณ ๊ด๋ฆฌํ๋ ๋ ธ๋๋ก, ํ๋์ ๋ฐฐ์น์ ์ค์ผ์ค๋ง์ ๋ด๋น
ํ๋

- ์ ์: ํ๋๋ ํ๋ ์ด์์ ์ปจํ ์ด๋๋ฅผ ํฌํจํ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๊ด๋ฆฌํ๋ ์ต์ ๋จ์
- ๊ฐ์ ํ๋ ๋ด์ ์ปจํ ์ด๋๋ ๋คํธ์ํฌ์ ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ๋ฉฐ, ์๋ก ๋ฐ์ ํ๊ฒ ํ๋ ฅํ๋ค.
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค: ์ฌ์ฉ์๋ ์ง์ ์์ปค ๋ ธ๋์์ ํ๋๋ฅผ ์คํํ์ง ์๊ณ , ๋ง์คํฐ ๋ ธ๋๋ฅผ ํตํด ํ๋๋ฅผ ๊ด๋ฆฌ
- ์ฃผ์ ํน์ฑ
- ๋คํธ์ํฌ ๊ณต์ : ๊ฐ์ ํ๋์ ํฌํจ๋ ์ปจํ ์ด๋๋ค์ ๋์ผํ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค๋ฅผ ๊ณต์ ํ๋ค. ์ฆ, ๊ฐ์ IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๊ณ , ๋ก์ปฌ ํธ์คํธ๋ฅผ ํตํด ์๋ก ํต์ ๊ฐ๋ฅ
- ์คํ ๋ฆฌ์ง ๊ณต์ : ํ๋ ๋ด์ ์ปจํ ์ด๋๋ค์ ๊ฐ์ ๋ณผ๋ฅจ์ ๋ง์ดํธํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์
- ๋ผ์ดํ์ฌ์ดํด: ๊ฐ์ ํ๋์ ํฌํจ๋ ์ปจํ ์ด๋๋ ๊ฐ์ ๋ผ์ดํ์ฌ์ดํด์ ๊ฐ๋๋ค. ์ฆ, ํ๋๊ฐ ์์ฑ๋๊ฑฐ๋ ์ญ์ ๋ ๋ ๋ชจ๋ ์ปจํ ์ด๋๊ฐ ํจ๊ป ์์ฑ๋๊ฑฐ๋ ์ญ์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ๋ผ์ ์ปจํ ์ด๋ A, ์ปจํ ์ด๋ B๊ฐ ๊ฐ์ ํ๋์ ์๋ค๋ฉด, ์ปจํ ์ด๋ A๋ง ๊ตฌ๋ํ๊ณ ๋ ์ปจํ ์ด๋ A๋ง ๊ตฌ๋ํ ์ ์๋ค.
.yaml ํ์ผ
apiVersion: v1 # Pod๋ฅผ ์์ฑํ ๋๋ v1์ด๋ผ๊ณ ๊ธฐ์ฌํ๋ค.
kind: Pod # Pod๋ฅผ ์์ฑํ๋ค๊ณ ๋ช
์
metadata:
name: nginx-pod # Pod ์ด๋ฆ
spec:
containers:
- name: nginx-container # ์์ฑํ ์ปจํ
์ด๋์ ์ด๋ฆ
image: nginx # ์ปจํ
์ด๋๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ Docker ์ด๋ฏธ์ง
ports:
- containerPort: 80
์ด๋ spec.containers.ports.containerPort : ์ค์ ์๋์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค. ๋ช ์์ ์ผ๋ก ๋ํ๋ด๊ธฐ ์ํ ๋ฌธ์ํ์ฉ
์ฆ, ์ด์ฐจํผ 80๋ฒ ํฌํธ์์ ์คํ๋๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค๋ ์์ .yamlํ์ผ์ Manifest File์ด๋ผ ํ๋ค.
- ์ฟ ๋ฒ๋คํฐ์ค์์ ๋ค์ํ ๋ฆฌ์์ค(ํ๋, ์๋น์ค, ๋ณผ๋ฅจ ๋ฑ)์ ์์ฑํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ
์ปจํ ์ด๋ ๋ฐฐ์น ๊ธฐ์ค
- ๋ฐ์ ํ ๊ด๊ณ: ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ํ๋์ ํฌํจ๋ ์ปจํ
์ด๋๋ค์ ์๋ก ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์์ด์ผ ํ๋ค.
- ์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ๊ฐ์ ํ๋์ ๋๋ฉด ์ข๋ค.
- ์ํธ ์์ฉ: ์๋ก ๊ธด๋ฐํ๊ฒ ์ํธ ์์ฉํ๋ ์ปจํ
์ด๋๋ค์ ๊ฐ์ ํ๋์ ํฌํจ
- ์ด๋ ๋คํธ์ํฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํจ
- ๋ ๋ฆฝ์ฑ: ์ปจํ ์ด๋๊ฐ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํด์ผ ํ๋ค๋ฉด, ๊ฐ์ ํ๋์ ํฌํจํ ํ์๋ ์๋ค. ์ด์ฐจํผ ๋คํธ์ํน ๊ธฐ๋ฅ์ ํตํด ์๋ก ๋ค๋ฅธ ํ๋์ ์๋ ์ปจํ ์ด๋๋ค๋ ํต์ ํ ์ ์๋ค.
ํ๋์ ํ์์ฑ(์ ์ฌ์ฉํด์ผ ํ ๊น?)
- ์ด์ ๋ถํ ๊ฒฝ๊ฐ: ์ปจํ ์ด๋์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ฉด ์ง์ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํด์ผ ํ์ง๋ง, ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ๊ฐ์ ํ๋์ ํฌํจ์ํค๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์ด๋ค์ ๊ด๋ฆฌํ๊ณ , ๋ผ์ดํ์ฌ์ดํด์ ์ผ์น์ผ์ ์๋์ผ๋ก ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ ๋ถ๋ด์ ์ค์ธ๋ค.
- ๋ฆฌ์์ค ์๋น ์ต์ ํ: ํ๋ ๋ด์ ์ปจํ ์ด๋๋ค์ด ๊ณต์ ํ๋ ๋ฆฌ์์ค(์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ) ๋๋ถ์ ๋ฆฌ์์ค ์๋น๋ฅผ ์ต์ ํ ๊ฐ๋ฅ
- ํจํค์ง ๊ด๋ฆฌ: ์ปจํ ์ด๋๋ณ๋ก ํ์ํ ์ต์ํ์ ํจํค์ง๋ง ์ค์นํ์ฌ, ๋ถํ์ํ ์์ ๊ณผ ๋ฆฌ์์ค ๋ญ๋น๋ฅผ ์ค์ธ๋ค.
ํ๋์ ๋์์ธ ํจํด
- One-Container-Per-Pod: ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํจํด์ผ๋ก, ํ๋ ๋น ํ๋์ ์ปจํ ์ด๋๋ฅผ ์คํ. ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ ์ฉ
- Sidecar ์ปจํ
์ด๋: ํ๋์ ์ฃผ ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋์ ํจ๊ป ๋ณด์กฐ ์ญํ ์ ํ๋ ์ปจํ
์ด๋๋ฅผ ํฌํจํ๋ ํจํด
- ์๋ฅผ ๋ค์ด, ๋ก๊ทธ ์์ง๊ธฐ, ๋ชจ๋ํฐ๋ง ๋๊ตฌ ๋ฑ์ด Sidecar ์ปจํ ์ด๋๋ก ๋์ํ ์ ์๋ค.
Deployments and ReplicaSets

- ๊ฐ๋ : ํ๋ ๊ด๋ฆฌ ๋ฐฉ์, ReplicaSet์ ๊ทธ๋ฃนํํ๊ณ ๊ด๋ฆฌํ๋ ๋จ์
- ํ๋๋ ํ๋ ์ด์์ ์ปจํ ์ด๋ ๊ทธ๋ฃน, ๋ ํ๋ฆฌ์นด์ ์ ํ๋ ์ด์์ ํ๋ ๊ทธ๋ฃน, ๋ํ๋ก์ด๋จผํธ๋ ํ๋์ด์์ ๋ ํ๋ฆฌ์นด์ ๊ทธ๋ฃน
- ํ๋๋ ๋ค๋ฅธ ์ ํ์ ์ปจํ ์ด๋ ํฌํจ, ๋ ํ๋ฆฌ์นด์ ์ ๊ฐ์ ์ ํ์ ํ๋๋ง ํฌํจ, ๋ํ๋ก์ด๋จผํธ๋ ๋ค๋ฅธ ์ ํ ํฌํจ ๊ฐ๋ฅํ๋ ๊ฐ์ ๋ ํ๋ฆฌ์นด์ ์ ๋ค๋ฅธ ๋ฒ์ ์ ํฌํจ
ReplicaSet
- ๊ฐ๋ : ์ฟ ๋ฒ๋คํฐ์ค์์ ํ๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ ๋จ์๋ก, ์ง์ ํ ์๋งํผ์ ํ๋ ๋ณต์ ๋ฅผ ์ ์งํ๋ ์ญํ
- ์ญํ
- ํฌ์ค ์ฒดํฌ: ํ๋์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ , ์คํจํ ํ๋๋ฅผ ์๋์ผ๋ก ์ฌ์์ํ์ฌ ์์คํ ์ ์์ ์ฑ์ ์ ์งํ๋ค.
- ์ค์ผ์ผ๋ง: ํ๋์ ์๋ฅผ ๋์ ์ผ๋ก ์กฐ์ -> ์์ฒญ์ ์์ ๋ฐ๋ผ ํ๋๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์๋ค.
- ๋กค๋ง ์ ๋ฐ์ดํธ: ์ค๋๋ ๋ ํ๋ฆฌ์นด์ ์ ํ๋ ์๋ ์ค์ด๊ณ , ์ ๋ ํ๋ฆฌ์นด์ ์ ํ๋ ์๋ ๋๋ ค ํ๋์ ์๋ก์ด ๋ฒ์ ์ ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ ์ ์์ด, ๋ค์ดํ์์ ์ต์ํํ๊ณ ์์ ์ฑ์ ๋์ธ๋ค.
Deployment
- ๊ฐ๋ : ์ฟ ๋ฒ๋คํฐ์ค์์ ReplicaSet์ ๊ด๋ฆฌํ๋ ์์ ๊ฐ๋ , ๋ ํ๋ฆฌ์นด์ ์ด ์ ์งํ๋ ํ๋ ์๋ฅผ ์ฆ๊ฐํ๊ฑฐ๋ ๋ ํ๋ฆฌ์นด์ ์ ์์ฑ
- ์ญํ
- ReplicaSet ๊ด๋ฆฌ: ์ฌ์ฉ์๊ฐ ์ ์ํ ํ๋์ ๊ฐ์๋ฅผ ์ ์งํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ReplicaSet์ ์์ฑ ๋ฐ ์กฐ์ ํ๋ค
- ๋กค๋ง ์ ๋ฐ์ดํธ: ๊ธฐ์กด ํ๋๋ฅผ ์ ์ง์ ์ผ๋ก ๋์ฒดํ์ฌ ๋ค์ดํ์ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ดํธํ ์ ์๋ค.
- ๋กค๋ฐฑ: ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ์ฝ๊ฒ ๋๋๋ฆด ์ ์์ด ์๋น์ค์ ์์ ์ฑ์ ๋ณด์ฅํ๋ค.
- ์ค์ผ์ผ๋ง: ์๋ ๋๋ ์๋์ผ๋ก ํ๋ ๊ฐ์๋ฅผ ์กฐ์ ํ์ฌ ํธ๋ํฝ ๋ณํ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๋ค.
- Self-healing: ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์๋์ผ๋ก ํ๋๋ฅผ ์ฌ์์ฑํ์ฌ ์๋น์ค ๊ฐ์ฉ์ฑ์ ์ ์งํ๋ค.
๋ํ๋ก์ด๋จผํธ๊ฐ ํ์ํ ์ด์ : ์์ ์ ํฌํจํ๋ ๋ ํ๋ฆฌ์นด์ ์ด๋ ํ๋๋ฅผ ์๋์ผ๋ก ๊ฐฑ์ ํ๊ธฐ ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ๊ณ ์๊ธฐ ๋๋ฌธ
๋ ํ๋ฆฌ์นด์ ์ผ๋ก ํ๋ ์๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ์ ์ค์ผ์ผ๋ง,๋กค๋ง ์ ๋ฐ์ดํธ ๋์ง๋ง, ๋ํ๋ก์ด๋จผํธ ์ฌ์ฉํ๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์๋์ผ๋ก ํ๋ ์ ์กฐ์ ํ๊ณ ์ ๋ ํ๋ฆฌ์นด ์ ์ ๋ง๋ค ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ๋ ํ๋ฆฌ์นด์ ์ ๋ค๋ฅธ ๋ฒ์ ์ ํฌํจํ๋ค.
์ปจํธ๋กค๋ฌ
- ๊ฐ๋ : ํ์ฌ ์ํ์์ ์ค์ ํ ์ํ๋ก ๋ง๋๋ ๋งค์ปค๋์ฆ์ผ๋ก, ํ์ฌ ์ํ์ ์ค์ ํ ์ํ๊ฐ ์ฐจ์ด๊ฐ ์์๋ ์ด๋ฅผ ์กฐ์ ํ์ฌ ์ํ๋ฅผ ์ผ์น์ํจ๋ค.
deployment == deployment controller?
- Deployment๋ ์ฟ ๋ฒ๋คํฐ์ค์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ์ ์ํ๋ ๋ฆฌ์์ค๋ก, ์ฌ์ฉ์๊ฐ ์ํ๋ ํ๋์ ๊ฐ์, ์ ๋ฐ์ดํธ ๋ฐฉ์, ๋กค๋ฐฑ ์ ๋ต ๋ฑ์ ์ ์ธ์ ์ผ๋ก ์ค์ ํ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋กค๋ง ์ ๋ฐ์ดํธ ๋ฐฉ์์ผ๋ก ๋ฐฐํฌํ๊ฑฐ๋, ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ด์ ๋ฒ์ ์ผ๋ก ์ฝ๊ฒ ๋๋๋ฆด ์ ์์ผ๋ฉฐ, ํ์์ ๋ฐ๋ผ ํ๋ ๊ฐ์๋ฅผ ์กฐ์ ํ์ฌ ํธ๋ํฝ ๋ณํ์ ๋์ํ ์๋ ์๋ค. ํ์ง๋ง Deployment ์์ฒด๋ ๋จ์ํ ๋ฐฐํฌ ์ ๋ต์ ์ ์ํ๋ ์ญํ ๋ง ํ๋ฉฐ, ์ด๋ฅผ ์ค์ ๋ก ์คํํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ Deployment Controller๋ค.
- Deployment Controller๋ ์ฟ ๋ฒ๋คํฐ์ค์ ์ปจํธ๋กค๋ฌ ์ค ํ๋๋ก, Deployment๊ฐ ๊ธฐ๋ํ๋ ์ํ๋ฅผ ์ ์งํ๋๋ก ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ํ์ํ ์กฐ์น๋ฅผ ์ํํ๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์๋ก์ด Deployment๋ฅผ ์์ฑํ๋ฉด Deployment Controller๋ ์ด๋ฅผ ๊ฐ์งํ๊ณ , ๋ด๋ถ์ ์ผ๋ก ReplicaSet์ ์์ฑํ์ฌ ์ง์ ๋ ๊ฐ์๋งํผ์ ํ๋๋ฅผ ๋ฐฐํฌํ๋ค. ๋ํ, ๊ธฐ์กด Deployment๋ฅผ ์ ๋ฐ์ดํธํ ๊ฒฝ์ฐ, ์ด์ ReplicaSet์ ํ๋ ๊ฐ์๋ฅผ ์ค์ด๋ฉด์ ์๋ก์ด ReplicaSet์ ํ๋๋ฅผ ์ ์ง์ ์ผ๋ก ๋๋ฆฌ๋ ๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ํํ์ฌ ์๋น์ค์ ์ค๋จ์ ์ต์ํํ๋ค. ๋ง์ฝ ๋ฐฐํฌ ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด Deployment Controller๋ ์ด๋ฅผ ๊ฐ์งํ๊ณ , ์ฌ์ฉ์๊ฐ ์ค์ ํ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋กค๋ฐฑ์ ์ํํ ์๋ ์๋ค. ์ฆ, Deployment Controller๋ Deployment์ ๋ชฉํ ์ํ์ ์ค์ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ๋น๊ตํ๋ฉด์, ๋ถ์ผ์น๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ ์ ์ผ๋ก ์ด์๋๋๋ก ๋ณด์ฅํ๋ ์ญํ ์ ํ๋ค.
๊ตฌ์กฐ ์ ๋ฆฌ
- Pod: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค์ ๋ก ์คํ๋๋ ์ต์ ๋ฐฐํฌ ๋จ์
- ReplicaSet: ์ฌ๋ฌ ๊ฐ์ Pod๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ง์ ๋ ๊ฐ์๋ฅผ ์ ์งํ๋ ์ญํ
- Deployment: ReplicaSet์ ์์ฑํ๊ณ , ํ๋์ ๋ฐฐํฌ, ์ ๋ฐ์ดํธ, ๋กค๋ฐฑ, ์ค์ผ์ผ๋ง์ ์ ์ธ์ ์ผ๋ก ์ ์ํ๋ ๋ฆฌ์์ค
- Deployment Controller: Deployment ๊ฐ์ฒด๋ฅผ ๊ฐ์ํ๊ณ , ๋ชฉํ ์ํ(ReplicaSet ๊ฐ์, ํ๋ ์ํ ๋ฑ)๋ฅผ ์ ์งํ๋๋ก ๊ด๋ฆฌ
์ฆ, Deployment โ ReplicaSet โ Pod ๋ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฐฐํฌ ๊ตฌ์กฐ์ด๊ณ , ์ด๋ฅผ ์ง์์ ์ผ๋ก ๊ฐ์ํ๊ณ ์ ์งํ๋ ์ปจํธ๋กค๋ฌ๊ฐ Deployment Controller
๋ค์ ๋ฐฐ์ธ ๊ฒ๋ค์ ์์ธ๋ฌ ์๋น์ค, ๋ํ๋ก์ด๋จผํธ, ํ๋ ๊ฐ์ ๋ฆฌ์์ค๋ฅผ ํตํ์ด์ Object๋ผ ํ๋ค.
์ฐธ๊ณ
https://www.copado.com/resources/blog/kubernetes-deployment-vs-service-managing-your-pods
'๐ณ ์ธํ๋ผ > Kubernetes' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฟ ๋ฒ๋คํฐ์ค ์ค์ ํ์ผ (0) | 2025.04.01 |
---|---|
์ฟ ๋ฒ๋คํฐ์ค ๋ก์ปฌ ์ค์ต (0) | 2025.03.31 |
์ฟ ๋ฒ๋คํฐ์ค ๋ก๋๋ฐธ๋ฐ์ฑ ๋ฐ ํฌ์ค์ฒดํฌ (0) | 2025.03.22 |
์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค์ ํ๋ผ๋ฌ (0) | 2025.03.19 |