Recent Posts
Recent Comments
Link
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- @scheduler
- Java
- GoogleLogin
- injection๊ณต๊ฒฉ
- ์ค๋ธ์
- Personal Access Token
- docker
- ์ฟ ๋ฒ๋คํฐ์ค
- ์ฝ๋ฉํ ์คํธ
- ์ฝํ
- MySQL
- oauth
- node.js mysql ์ฐ๋
- Node.js
- spring scheduler
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- spring
- ๋ ผ๋ธ๋กํน
- SpringBoot
- dockerhub
- db์ํคํ ์ณ
- ๋์์ธํจํด
- CICD
- React
- db์ ๋ต
- java์ฑํ
- ์๊ณ ๋ฆฌ์ฆ
- Jenkins
- ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ
- ์๋ฐ
Archives
- Today
- Total
<Hello Hosung๐/>
[k8s] ๋จ์ผ ํ๋ก์ ํธ vs ๋ง์ดํฌ๋ก์๋น์ค ๋น๊ต ๋ณธ๋ฌธ
โ๏ธ k8s
[k8s] ๋จ์ผ ํ๋ก์ ํธ vs ๋ง์ดํฌ๋ก์๋น์ค ๋น๊ต
์ข์ถฉ์ฐ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ผ๊ธฐ๐ง 2025. 8. 16. 00:55
1๏ธโฃ ๋ค์ด๊ฐ๋ฉฐ
- Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฟ ๋ฒ๋คํฐ์ค(K8s) ์์ ๋ฐฐํฌํ ๋
- ํ ํ๋ก์ ํธ ์์ ์ฌ๋ฌ API๋ฅผ ๋ง๋ค์ง, ์๋๋ฉด API๋ณ๋ก ๋ณ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ผ ํ ์ง ๊ณ ๋ฏผ๋๋ ์ํฉ
- ์์ฒญ ๋ถ์ฐ, ์ค์ผ์ผ๋ง, ์ฅ์ ๊ฒฉ๋ฆฌ ์ธก๋ฉด์์ ๋น๊ต
2๏ธโฃ ์ฟ ๋ฒ๋คํฐ์ค ๊ธฐ๋ณธ ๊ตฌ์กฐ
- Deployment: ์ ํ๋ฆฌ์ผ์ด์ ๋จ์, ํ๋(Pod) ์์ฑ/๊ด๋ฆฌ
- Service: Deployment ๋ด๋ถ ํ๋์ ์์ฒญ์ ์ ๋ฌ, ๋ก๋๋ฐธ๋ฐ์ฑ
- Ingress + Nginx: ์ธ๋ถ ์์ฒญ์ Service๋ก ๋ผ์ฐํ ํ๊ณ , ์ฌ๋ฌ ํ๋์ ๋ถ์ฐ ์ฒ๋ฆฌ
[์์ฒญํ๋ฆ๊ทธ๋ฆผ]
์ธ๋ถ ์์ฒญ → Ingress(์ง๋) → Nginx(ํธ๋ํฝ ๋ฐฐ๋ถ) → Service → ์ฌ๋ฌ ํ๋
- Ingress: URL/๋๋ฉ์ธ ๊ท์น ๊ด๋ฆฌ
- Nginx: ํ๋ ๋จ์ ๋ก๋๋ฐธ๋ฐ์ฑ
3๏ธโฃ ํ ํ๋ก์ ํธ ์์ ์ฌ๋ฌ API (/users, /orders)
- Deployment 1๊ฐ, ์ฌ๋ฌ ํ๋
- ์์ฒญ ํ๋ฆ:
/users ์์ฒญ → Service → ํ๋1 or ํ๋2
/orders ์์ฒญ → Service → ํ๋1 or ํ๋2
- ์ฅ์
- ๊ตฌ์กฐ ๋จ์, ๋ฐฐํฌ ์ฌ์
- ์์ ํ/์๋น์ค์ ์ ํฉ
- ๋จ์
- API๋ณ ๋ ๋ฆฝ ์ค์ผ์ผ ๋ถ๊ฐ
- /users ํญ์ฆ → /orders์ ํจ๊ป ์ ์ฒด Deployment ์ค์ผ์ผ๋ง
- ์ฅ์ ๋ฐ์ ์ ์ ์ฒด ์๋น์ค์ ์ํฅ
์ธ๋ถ ์์ฒญ (/users, /orders)
↓
Ingress (URL ๊ตฌ๋ถ)
↓
Service (ํ๋)
↓
Nginx → ํ๋1, ํ๋2, ํ๋3 (์์ฒญ ๋จ์๋ก ๋ถ์ฐ)
4๏ธโฃ API๋ณ๋ก ๋ณ๋ ํ๋ก์ ํธ (๋ง์ดํฌ๋ก์๋น์ค)
- /users Deployment, /orders Deployment ๊ฐ๊ฐ ์์ฑ
- ์์ฒญ ํ๋ฆ:
/users → Ingress → Service(users) → Nginx → user ํ๋1,2,3
/orders → Ingress → Service(orders) → Nginx → order ํ๋1,2,3
- ์ฅ์
- API๋ณ ๋ ๋ฆฝ ์ค์ผ์ผ ๊ฐ๋ฅ
- ์ฅ์ ๊ฒฉ๋ฆฌ ๊ฐ๋ฅ
- ๋ฆฌ์์ค ํจ์จ์
- ๋จ์
- ๊ด๋ฆฌ ๋ณต์ก๋ ↑
- ์๋น์ค๊ฐ ํต์ , Config ๊ด๋ฆฌ ํ์
5๏ธโฃ Nginx vs Ingress ์ญํ ์ ๋ฆฌ
๊ตฌ์ฑ ์์์ญํ
| Ingress | URL/๋๋ฉ์ธ ๊ธฐ๋ฐ ๋ผ์ฐํ ๊ท์น ์ ๊ณต, ์ธ๋ถ ์์ฒญ → Service ๋งคํ |
| Nginx | ์ค์ ํธ๋ํฝ์ ํ๋ ๋จ์๋ก ๋ถ์ฐ ์ฒ๋ฆฌ, ๋ก๋๋ฐธ๋ฐ์ฑ |
๋น์ :
- Ingress = ์ง๋ → “/users ์์ฒญ์ Service1, /orders ์์ฒญ์ Service2๋ก ๊ฐ๋ผ”
- Nginx = ๊ตํต ๊ฒฝ์ฐฐ → “ํ๋ 1,2,3 ์ค ํ ๊ณณ์ผ๋ก ๋ถ์ฐ ์ฒ๋ฆฌ”
6๏ธโฃ ์์ฒญ ๋จ์ vs API๋ณ ๋ ๋ฆฝ ์ค์ผ์ผ
ํญ๋ชฉํ ํ๋ก์ ํธ๋ณ๋ ํ๋ก์ ํธ
| ์์ฒญ ๋จ์ ๋ถ์ฐ | ํ๋ ๋จ์ โ | ํ๋ ๋จ์ โ |
| API๋ณ ๋ ๋ฆฝ ์ค์ผ์ผ | โ | โ |
| ์ฅ์ ๊ฒฉ๋ฆฌ | โ | โ |
| ๋ฆฌ์์ค ํจ์จ | ๋ฎ์ | ๋์ |
๐ก ํต์ฌ: ํ๋ ๋จ์๋ก ์์ฒญ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ์์ ํธ๋ํฝ์์๋ ๋จ์ผ ํ๋ก์ ํธ๋ ์ถฉ๋ถ
- ๋จ, API๋ณ ํธ๋ํฝ ํจํด์ด ๋ค๋ฅด๊ณ ๋ ๋ฆฝ ์ค์ผ์ผ๋ง ํ์ํ๋ฉด ๋ณ๋ ํ๋ก์ ํธ(๋ง์ดํฌ๋ก์๋น์ค) ๊ถ์ฅ
7๏ธโฃ ํ์ ์์๋?
๊ท๋ชจ/์ํฉ์ ํ
| ์๊ท๋ชจ ์๋น์ค/์คํํธ์ | ๋จ์ผ ํ๋ก์ ํธ + Deployment + Ingress + Nginx |
| ์ค๋ํ ์๋น์ค/๊ธฐ์ | API๋ณ ํ๋ก์ ํธ(๋ง์ดํฌ๋ก์๋น์ค) + Deployment + Service + Ingress + Nginx |
8๏ธโฃ ๊ฒฐ๋ก
- ์์ ์๋น์ค → ํ ํ๋ก์ ํธ ์์ ์ฌ๋ฌ API ๋ง๋ค์ด๋ ์ถฉ๋ถ, ์์ฒญ ๋จ์๋ก ํ๋์ ๋ถ์ฐ ์ฒ๋ฆฌ
- ํฐ ์๋น์ค → API๋ณ๋ก ๋ถ๋ฆฌํด ๋ง์ดํฌ๋ก์๋น์ค๋ก ๋ฐฐํฌ, ๋ ๋ฆฝ ์ค์ผ์ผ๋ง ๊ฐ๋ฅ
- Nginx + Ingress ์ญํ ์ดํด → ๊ตฌ์กฐ ์ค๊ณ๊ฐ ์ฌ์์ง๊ณ , ํธ๋ํฝ ๊ด๋ฆฌ/๋ก๋๋ฐธ๋ฐ์ฑ ๋ช ํ
'โ๏ธ k8s' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [k8s] Deployment / Service / Pod (2) | 2025.08.16 |
|---|