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
- ์๋ฐ
- db์ ๋ต
- ์ฝํ
- ๋ ผ๋ธ๋กํน
- db์ํคํ ์ณ
- Java
- injection๊ณต๊ฒฉ
- Jenkins
- CICD
- java์ฑํ
- @scheduler
- ์๊ณ ๋ฆฌ์ฆ
- ์ฟ ๋ฒ๋คํฐ์ค
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ค๋ธ์
- spring
- ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ
- React
- ๋์์ธํจํด
- GoogleLogin
- docker
- MySQL
- node.js mysql ์ฐ๋
- SpringBoot
- Node.js
- dockerhub
- oauth
- ์ฝ๋ฉํ ์คํธ
- Personal Access Token
- spring scheduler
Archives
- Today
- Total
<Hello Hosung๐/>
[k8s] Deployment / Service / Pod ๋ณธ๋ฌธ
โ๏ธ k8s
[k8s] Deployment / Service / Pod
์ข์ถฉ์ฐ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ผ๊ธฐ๐ง 2025. 8. 16. 00:571๏ธโฃ Pod
- ์ฉ๋: ์ฟ ๋ฒ๋คํฐ์ค์์ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ๊ฐ์ฅ ์์ ๋จ์
- ํน์ง:
- ๋จ์ผ ๋๋ ์ฌ๋ฌ ์ปจํ ์ด๋ ์คํ ๊ฐ๋ฅ
- Pod๋ง ์์ผ๋ฉด ์ธ๋ถ ์ ์์ ๋ถ๊ฐ
- ์ฌ์์ฑ/๋กค๋ง ์ ๋ฐ์ดํธ๋ ์ง์ ์ ๋จ
- ์ฌ์ฉ ๊ฒฝ์ฐ:
- ๋จ์ผ Pod ์ง์ ์์ฑ
- ํ ์คํธ/ํ์ต์ฉ ์์ Pod
- Deployment/StatefulSet ๋ด๋ถ template ๊ตฌ์กฐ
Pod YAML ์์
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx
ports:
- containerPort: 80
2๏ธโฃ Deployment
- ์ฉ๋: Pod๋ฅผ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด
- ํน์ง:
- ์ง์ ํ Pod ๊ฐ์(replica)๋ฅผ ํญ์ ์ ์ง
- Pod๊ฐ ์ฃฝ์ผ๋ฉด ์๋ ์ฌ์์ฑ
- ๋กค๋ง ์ ๋ฐ์ดํธ, ๋ฒ์ ๊ด๋ฆฌ ๊ฐ๋ฅ
- ์ฌ์ฉ ๊ฒฝ์ฐ:
- ์ค์ ์ด์ ํ๊ฒฝ์์ Pod ๊ด๋ฆฌ
- ์๋ ์ค์ผ์ผ๋ง, ์ ๋ฐ์ดํธ ํ์ ์
Deployment YAML ์์
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deploy
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-springboot:latest
ports:
- containerPort: 3000 # targetPort
3๏ธโฃ Service
- ์ฉ๋: Pod์ ํด๋ฌ์คํฐ ๋ด๋ถ/์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ฐ์ฒด
- ํน์ง:
- Pod๊ฐ ์ฌ์์๋์ด๋ ์ ๊ทผ ๊ฐ๋ฅ
- NodePort, ClusterIP, LoadBalancer ๋ฑ ํ์ ๋ณ ์ ๊ทผ ๊ฐ๋ฅ
- ์ธ๋ถ ์ ์ ํฌํธ(nodePort)์ ์ปจํ ์ด๋ ํฌํธ(targetPort)๋ฅผ ๋งคํ ๊ฐ๋ฅ
- ์ฌ์ฉ ๊ฒฝ์ฐ:
- Deployment๋ก ๋ง๋ Pod๋ค์ ์ธ๋ถ/๋ด๋ถ์์ ์ ๊ทผํ๊ฒ ํ ๋
Service YAML ์์ (NodePort)
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- port: 7070 # ClusterIP ํฌํธ (ํด๋ฌ์คํฐ ๋ด๋ถ์ฉ)
targetPort: 3000 # Pod ์ปจํ
์ด๋ ํฌํธ
nodePort: 30070 # ์ธ๋ถ ์ ์์ฉ ํฌํธ (NodePort ๋ฒ์ 30000~32767)
type: NodePort
- ์ธ๋ถ ์ ์ URL: http://<๋ ธ๋IP>:30070
- ํด๋ฌ์คํฐ ๋ด๋ถ Pod ์ ์: http://my-app-service:7070
- Pod ๋ด๋ถ ์ปจํ ์ด๋ ํฌํธ: 3000
๐น ํต์ฌ ์์ฝ
| ์ข ๋ฅ(kind) | ์ค๋ช | ํน์ง | |
| Pod | ์ปจํ ์ด๋ ์คํ ๋จ์ | ๋จ์ผ/์์, ์ฌ์์ฑ ์ ๋จ | ์ง์ Pod YAML |
| Deployment | Pod ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ | ์๋ ์ฌ์์ฑ, ๋กค๋ง ์ ๋ฐ์ดํธ | replicas: 2, template.spec |
| Service | Pod ์ ๊ทผ ์ง์ | Cluster ๋ด๋ถ/์ธ๋ถ ์ ๊ทผ, ๋ก๋๋ฐธ๋ฐ์ฑ | NodePort/ClusterIP/LoadBalancer |
'โ๏ธ k8s' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [k8s] ๋จ์ผ ํ๋ก์ ํธ vs ๋ง์ดํฌ๋ก์๋น์ค ๋น๊ต (2) | 2025.08.16 |
|---|