์ด๋ฒ์ ์ ๋ฌด๊ณผ์ ์์ ์ผ๋ ํด๋ค์ ์ ๋ฆฌํด๋ณด๋ฉด์ k8s ์น ๋ฐฐํฌ๋ฅผ ์๋ ์ ํ๋ ๊ธฐ์ต์ ๋์ด๋ ค ๋ค์ ๊ณต๋ถํด๋ณด๋ฉด์ ํฌ์คํ ํ๊ธฐ๋ก ํ๋ค. ์ง๋ ํฌ์คํ ์์๋ ๋จผ์ ์ฟ ๋ฒ๋คํฐ์ค์ ์ฌ๋ฆด dockerfile์ ๋ง๋ค์ด์ docker compose๋ฅผ ์ด์ฉํด ๋ฌถ์ด์ ์คํํด ๋์ ํ ์คํธ๊น์ง ํด๋ณด์๋ค. ์ด ํฌ์คํ ์์๋ kubectl, gcloud๋ฅผ ์ค์นํ๊ณ fastapi ์ธก ์ํฌ๋ก๋ ์ปจํ ์ด๋๋ฅผ gke ์์ ์ฌ๋ ค๋ณธ๋ค.
๋ชฉํ
- GKE(Google Kubernetes Engine)์ GCE(Google Compute Engine) ๋ฑ์ ํ์ฉํ ํ์คํ ์น ์๋น์ค ๋ฐฐํฌํ๊ธฐ
- docker file ๊ตฌ์ฑํ๊ธฐ
- kubectl ํ์ฉํ๊ธฐ
- ์ฟ ๋ฒ๋คํฐ์ค ๊ตฌ์ฑ์ ๊ดํ ์ดํด ๋ฐ ์ ์ฉ
- Deployment
- StatefulSet
- Persistent Volume
- Service
- Gateway
1. kubectl, gcloud ์ค์น
- Kubernetes์ ๋ช ๋ น์ค ๋๊ตฌ์ธ kubectl์ด๋ค. ์ฐ๊ฒฐํ ํด๋ฌ์คํฐ์ ์ ๋ณด๋ฅผ ๋ณด๊ฑฐ๋, ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ฑฐ๋, ์ง์ ๋ด๋ถ๋ก ์ ์ํ๋ ๋ฑ ๋๋ถ๋ถ์ ๋ช ๋ น ์ฒ๋ฆฌ๋ฅผ ์ด๊ฑธ ์ด์ฉํด์ ํ๋ค.
๋๊ตฌ ์ค์น
์ปดํจํฐ์์ ์ฟ ๋ฒ๋คํฐ์ค ๋๊ตฌ๋ฅผ ์ค์ ํ๋ค.
kubernetes.io
- gcloud CLI๋ google cloud ๋ฆฌ์์ค๋ฅผ ์์ฑ, ์ญ์ , ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ช ๋ น์ค ๋๊ตฌ์ด๋ค. google์์ ์ ๊ณตํ๋ gke(google kubernetes engine)์ ์ฌ์ฉํด๋ณด๊ธฐ๋ก ํ์ผ๋ ๊ฐ์ด ์ค์นํด์ค๋ค.
- ๋ง์ผ gke๊ฐ ์๋๋ผ ๋ก์ปฌ ํ๊ฒฝ์์ kubernetes๋ฅผ ํ์ฉํด๋ณด๊ณ ์ถ๋ค๋ฉด minikube๋ฅผ ์ฌ์ฉํด๋ ๋๋ค. ์ด์ฐจํผ yaml ํ์ผ ๊ตฌ์ฑ์ ๋๊ฐ๊ณ , ๊ธฐ๋ณธ์ ์ผ๋ก google kubernetes engine์ ์ฌ์ฉํด์ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๊ณ ํ
์คํธํ๋ค ๋ณด๋ฉด ๋ช์ฒ์์ด์ง๋ง ๋์ด ๋๊ฐ๊ธฐ ๋๋ฌธ์...
- minikube๋ k3s๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ kubernetes ๊ฒฝ๋ํ ์๋ฃจ์ ์ด๋ค. ๋ก์ปฌ์์ ๋๋ฆฌ๊ธฐ ์ํ ๋ชฉ์ ์ ๊ฐ๊น๊ณ , ์ต์ ์ฌ์์ ๋ง์กฑํ๋ฉด ๋ด ํธ์คํธ๋จธ์ ์์์ ํด๋ฌ์คํฐ๋ฅผ ์ฌ๋ ค๋ณผ ์ ์๋ ๋์ ๋ฉํฐ๋ ธ๋๋ผ๋๊ฐ k8s๊ฐ ์ ๊ณตํ๋ ๋ช๋ช ๊ธฐ๋ฅ ์ฌ์ฉ์ ์ ์ฝ์ด ๋ฐ๋ฅธ๋ค.
gcloud CLI ์ค์น | Google Cloud SDK | Google Cloud Documentation
์ด ํ์ด์ง๋ Cloud Translation API๋ฅผ ํตํด ๋ฒ์ญ๋์์ต๋๋ค. ์๊ฒฌ ๋ณด๋ด๊ธฐ gcloud CLI ์ค์น ์ปฌ๋ ์ ์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ ๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์. ์ด ํ์ด์ง์๋ Google Cloud CLI
docs.cloud.google.com
minikube start
minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes. All you need is Docker (or similarly compatible) container or a Virtual Machine environment, and Kubernetes is a single command away: minikube start What you’ll
minikube.sigs.k8s.io
- ์ค์น ํ ์ปค๋งจ๋๋ผ์ธ์ kubectl, gcloud(ํน์ minikube)๋ฅผ ์ณ๋ณด๊ณ ์ ๋์ค๋ฉด ๋์ด๊ฐ์.
A. google cloud์์ kubernetes cluster ์์ฑํ๊ธฐ
Google ํด๋ผ์ฐ๋ ํ๋ซํผ
๋ก๊ทธ์ธ Google ํด๋ผ์ฐ๋ ํ๋ซํผ์ผ๋ก ์ด๋
accounts.google.com
- ํด๋ฌ์คํฐ๋ ์ฟ ๋ฒ๋คํฐ์ค ์ํคํ์ฒ์ด๋ค.

- ๊ฐ๋ ์ ์ค๋ช ํ๋ ๊ฒ์ด ํฌ์คํธ์ ์ฃผ์ ๋ชฉํ๊ฐ ์๋๋ฏ๋ก ๋ ธ๋ ๋ถ๋ถ ์์ฃผ๋ก ๋ณด์. ํด๋ฌ์คํฐ๋ pod๋ฅผ ์คํํ๊ธฐ ์ํด ์ต์ ํ๋ ์ด์์ ์์ปค ๋ ธ๋๋ฅผ ํ์๋ก ํ๋ค.
- ์์ปค ๋ ธ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํฌ๋ก๋์ ๊ตฌ์ฑ ์์์ธ ํ๋๋ฅผ ํธ์คํ ํ๊ณ , control plane์ผ๋ก ๋ฌถ์ฌ์๋ ์น๊ตฌ๋ค์ด ์์ปค๋ ธ๋์ pod๋ฅผ ๊ด๋ฆฌ๊ฐ๋ ํ๋ค.
- google kubernetes์ ๊ฒฝ์ฐ multi node๋ฅผ ์ง์ํ๋ฏ๋ก ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๋ฅผ ํ๋์ ํด๋ฌ์คํฐ ์์์ ์์ฑํ๊ณ ๊ด๋ฆฌํ ์ ์๋ค.
GKE ํด๋ฌ์คํฐ ์์ฑ
- gcp์์ ํด๋ฌ์คํฐ๋ autopilot๊ณผ standard๊ฐ ์๋๋ฐ, ๋น์ฅ ๋ฐฐํฌํด์ ์ฌ์ฉํ ๊ฒ๋ ์๋๊ฑฐ๋์ ์๋ ์ด์/๊ด๋ฆฌ๋๋ autopilot์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๋น์ธ๋ฏ๋ก standard์์ ๋น์ฉ์ ์ข ์ค์ฌ์ ํ ์คํธํด๋ณด๊ธฐ๋ก ํ๋ค.
- ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ง๋ ๊ฐ์ธ ์์ ์ง๋ง, ๋ฐ๋์ ํ์ธํด์ผํ ์ ์ cluster๋ฅผ ์ง์ญ(region)์ผ๋ก ํ ๋นํด์ผํ๋ค. ์์ญ(zone)์ผ๋ก ํ๋๊ฒ ๋ ์ ๋ ดํ์ง๋ง, ๋์ค์ ๋ฐฐํฌํ ๋ gateway api๋ฅผ ํตํด ํ ์์ ์ธ๋ฐ ์์ญ ํด๋ฌ์คํฐ๋ ๋ณต์กํ๋ค. ์ฒ์๋ถํฐ ์ง์ญ์ผ๋ก ์ก์๋์.
- ๋๋ ๋ ธ๋ ๊ฐ์๋ฅผ ์ค์ด๊ณ , ๋จธ์ ์ small๋ก ์ ํํ๊ณ , ๋ถํ ๋์คํฌ ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ ๊ฐ๊ฒฉ์ ์ข ๋ฎ์ท๋ค.
- ๋คํธ์ํน ํญ ์ตํ๋จ์ load balancer, ingress, gateway์์ gateway ์ฌ์ฉ์ค์ ์ ์ฒดํฌํด์ค๋ค.
- ์ฒดํฌํ์ง ์์ ๊ฒฝ์ฐ์๋ ํ๋ ๋ฐฉ๋ฒ์ด ๋ค ์๋ค. ๊ทธ๋ฐ๋ฐ ์ข ๋ ๋ณต์กํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ง๋ค๊ธฐ. ์ข ๊ฑธ๋ฆฌ๋๊น ์ฌ์ ๋กญ๊ฒ ๊ธฐ๋ค๋ฆฌ์.
2. ์น yaml ํ์ผ ๊ตฌ์ฑํ๊ธฐ
- ์ด ์์ ์์ ์ฌ์ฉํ ๋์ปค ์ด๋ฏธ์ง๋ fastapi ์ jquery๋ก ๋์ํ๋ ํ๋ก ํธ-๋ฐฑ์๋ ์ด๋ฏธ์ง ํ๋, postgres ๊ณต์ ์ด๋ฏธ์ง ํ๋์ด๋ค.
- ์ง๋ ํฌ์คํ ์์ ๋ง๋ค์๋ ๋์ปค ์ด๋ฏธ์ง ์ค web์ ํด๋นํ๋ ์ปค์คํ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ค.
- postgres ๋ ๊ณต์ ์ด๋ฏธ์ง์์ ์ด์ ํฌ์คํ ์์ ํ๋ ์์ ๊ณผ ๋น์ทํ ์์ ์ ์๋ก ํด์ค ๊ฒ์ด๋ค.
A. Deployment ๋ง๋ค๊ธฐ
- Deployment ๋ ์ฟ ๋ฒ๋คํฐ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ํฌ๋ก๋๋ฅผ ์คํํ๊ธฐ ์ํด pod์ replica set์ ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌํ๋ค.
- ์ฃผ๋ก Stateless ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฆฐ๋ค.
- ์ฃผ์ ๊ฐ๋
์ผ๋ก Replica set์ด ์๋๋ฐ, ์คํํ๋ pod๋ค์ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ฐ ์ด๋ค ๊ฒ์ด ๋ค์ด๋๊ฑฐ๋ ์ญ์ ๋๋ฉด ๋ณต์ ๋ณธ์ ๋ฐ๋ก ์ฌ๋ ค์ ์๋น์ค๋ฅผ ์ด์ํ ์ ์๋๋ก ํ๋ค.
- ์ด๊ฑธ ํ์ฉํด์ ์๋น์ค์ ๋ฒ์ ๊ด๋ฆฌ(์ ๋ฐ์ดํธ, ๋กค๋ฐฑ) ๋ฑ์๋ ์ฌ์ฉ๋๋ค.
- kubernetes yaml ํ์ผ์ ๊ฑฐ์ ๋น์ทํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค.
- apiVersion
- kind
- metadata
- ์ด ๋ค ๊ฐ์ง๊ฐ ํ์์ ์ผ๋ก ๋ค์ด๊ฐ๊ณ , secret์ด๋ configmap์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํฌ๋ก๋ ๋ค์ spec์ด ์ถ๊ฐ๋๋ค.
1. ๊ณตํต ์์
apiVersion: apps/v1
kind: Deployment
metadata:
name: server
namespace: web
labels:
app: server
- apiVersion์ kind์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. Deployment์ ๊ฒฝ์ฐ apps/v1.
- kind์ ์ข ๋ฅ๋ฅผ ์ด๋ค.
- metadata๋ ๋ง ๊ทธ๋๋ก ๋ฉํ๋ฐ์ดํฐ๋ค. name์ pod์ ์ด๋ฆ, namespace๋ ์ด deployment๋ฅผ ๋ฐฐํฌํ namespace, labels:app ์ ์ผ์ข
์ ์๋ณ์ ์ํ ํ๊ทธ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค. app ์ด๋ฆ์ด ๊ฐ์ pod ๋ผ๋ฆฌ ๋งคํํ ์ ์๋ค.
- namespace๋ ๋ณ๋๋ก ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด default๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฐ๋ฐ default์๋ ๋ค๋ฅธ ๊ธฐ๋ณธ pod๋ค๋ ์๊ธฐ ๋๋ฌธ์ ํท๊ฐ๋ฆผ ๋ฐฉ์ง๋ฅผ ์ํด์ ์๋ก ํ๋ ๋ง๋ค์ด์ ์ฐ๊ธฐ๋ก ํ๋ค.
2. spec
- spec ํ์์๋ replicas, selector, template๊ฐ ์๋ค.
- replicas : ๋ณต์ ๋ณธ ๊ฐ์
- selector : replica set์ด ๋ณต์ ํ pod ์ฐธ์กฐ๋ฅผ ์ํ ๊ตฌ๋ณ์
- template : replica set์ด ๋ณต์ ํ ๋ ์ฌ์ฉํ pod ์ ๋ณด ์ ๋ ฅ
spec:
replicas: 6
selector:
matchLabels:
app: server
template:
- template ์๋์ ๋ค์ด๊ฐ๋ ์ ๋ณด๋ค์ด container ์ ๋ณด๋ผ๊ณ ๋ณผ ์ ์๋ค.
spec:
containers:
- name: server
image: mysterias/web-service:251111
env:
- name: db_user
valueFrom:
secretKeyRef:
name: db-credentials
key: DB_USER
- name: db_password
valueFrom:
secretKeyRef:
name: db-credentials
key: DB_PASSWORD
- name: db_host
value: "postgresql"
- name: db_port
value: "5432"
- name: db_name
value: "energy_monitor"
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: postgres-credentials
key: POSTGRES_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgres-credentials
key: POSTGRES_PASSWORD
ports:
- containerPort: 8080
name: server
- containers ๋ด๋ถ์ ํฌ๊ฒ 4๊ฐ์ง๊ฐ ํ์ธ๋๋ค.
- name : ๊ธฐ๋ณธ pod ์ด๋ฆ
- image : container์ image, docker hub์์ pull ํ๋๋ก ํ๋ค.
- env : ํ๊ฒฝ ๋ณ์
- ports : ์ปจํ ์ด๋ ํฌํธ ์ ์
- env ํ๊ฒฝ๋ณ์ ํํธ๋ฅผ ๋ณด๋ฉด ๋ ๊ฐ์ง ํํ๋ก ๋๋์ด์ ธ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
- name: db_name
value: "energy_monitor"
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: postgres-credentials
key: POSTGRES_USER
- ์ด๋ ์๋ ํํ๋ kind ์ค ํ๋์ธ Secret ์ผ๋ก ๋ฏธ๋ฆฌ ์ ์ํด๋ ๊ฐ์ ์ฐธ์กฐํด์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ฒ์์๋ ์ ํํ๋ก ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํ์๋๋ฐ, ์ด๋ ๊ฒ deployment๋ฅผ ํด๋ฌ์คํฐ์ ์ฌ๋ฆฌ๋ฉด yaml ํ์ผ์ ์กฐํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ทจ์ฝํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ํ์ผ๋ก ๋๋์ด์ ์จ๊ธฐ๊ฑฐ๋, ๋ค๋ฅด๊ฒ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ค๊ฐ ๋ง๋ ๊ฒ์ด ๋ฐ๋ก Secret ํํ์ด๋ค.
B. Secrets
# Secret
apiVersion: v1
kind: Secret
metadata:
name: postgres-credentials
namespace: web
type: Opaque
stringData:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "postgres"
- Secret์์ ์ง์ ํ ์ ์๋ type์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ, Opaque ๋ ์ฌ์ฉ์ ์ง์ ํ์ ์ด๋ผ๋ ์๋ฏธ์ด๋ค.
- data ํ๋๋ data ํน์ stringData๋ก ๋๋๋๋ฐ, stringData๋ก ํ ๊ฒฝ์ฐ base64 ์ธ์ฝ๋ฉ ์์ด ๋ฌธ์์ด ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ , data๋ฅผ ์ธ ๊ฒฝ์ฐ์๋ base64 ์ธ์ฝ๋ฉ์ด ์๊ตฌ๋๋ค.
- ์ด์ kubernetes cluster์ ๋ฑ๋กํ๋ฉด secret์ ์๋ ๊ฐ์ ํ๊ฒฝ๋ณ์๋ก ๋ฐ์์์ ์ฌ์ฉํ ์ ์๋ค.
kubectl create -f postgres-secret.yaml


- ๋จผ์ secret์ ์ฌ๋ ค์ผ ์ดํ deployment์์ ์ฐธ์กฐํ ์ ์๋ค. ์์์ ์ ์ํ ๊ฒ.
C. Service ๋ง๋ค๊ธฐ
- ์ด๋ ๊ฒ ํด์ ๋ง์ผ deployment๋ฅผ ํด๋ฌ์คํฐ์ ์ฌ๋ ธ๋ค๋ฉด ์ด๊ฒ์ pod๋ก ๋์ํ๋ค. ๋ค๋ฅธ pod์์ ์ด Pod๋ก ์ง์ ์ฐ๊ฒฐํด์ ํต์ ํ ์๋ ์์ง๋ง, replica set์ ๋ง๋ค์๋ ๊ฒ์ ์๊ฐํด๋ณด๋ฉด Pod๋ ์ธ์ ๋ ๋์ฒดํ ์ ์๊ณ ๋ฐ๋๊ฑฐ๋ ์ฌ๋ผ์ง๋ค๋ฉด ์ด์ ๊ณผ ip๊ฐ ๊ฐ์ผ๋ฆฌ๋ผ๋ ๋ณด์ฅ์ด ์๋ค.
- ๋๋ฌธ์ ์ด Pod, Container์ ํต์ ํ ๋ ์ข ๋ ์์ ์ ์ผ๋ก ํต์ ํ ์ ์๋๋ก ์๋น์ค(reverse proxy or load balancer)๋ฅผ ๋ถ์ธ๋ค.
- ํด๋ผ์ด์ธํธ์์ ์๋น์ค ip ์ชฝ์ผ๋ก ์ฐ๊ฒฐํ๋ฉด ์๋ฒ ๋ชฉ๋ก์ reverse proxy๊ฐ ํ์ธํ๋ฉด์ ์ด์์๋ pod๋ก ํธ๋ํฝ์ ์ฐ๊ฒฐํด์ค๋ค.
# Service
apiVersion: v1
kind: Service
metadata:
name: server-svc
namespace: web
labels:
app: server
spec:
selector:
app: server
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: loadBalancer
- spec์ selector๋ฅผ ๋ณด๋ฉด ์ฐ๋ฆฌ๊ฐ deployment์์ labels๋ฅผ app: server๋ก ์ค์ ํ์๊ธฐ ๋๋ฌธ์, ์ด ์๋น์ค๊ฐ label app = server์ธ Pod ์ค์ ์ด์์๋ ๊ฒ์ ์ฐพ์์ ์ฐ๊ฒฐํ๋ฆฌ๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
- ports ๋ถ๋ถ์ด ์ค์ํ๋ฐ(๋งจ๋ target์ด๋ ๊ทธ๋ฅ port๋ ํท๊ฐ๋ฆผ) targetPort๋ container ๋ด๋ถ ํฌํธ์ด๊ณ , port๋ ์ธ๋ถ์ ๋
ธ์ถํ ํฌํธ๋ฅผ ์๋ฏธํ๋ค.
- 8080 ํฌํธ๋ pod ๋ด๋ถ์์ ํด๋ผ์ด์ธํธ ์์ฒญ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ gunicorn ํฌํธ
- 80 ํฌํธ๋ ์ด ์ํฌ๋ก๋ ๋ฐ๊นฅ์ ๋ค๋ฅธ ์ํฌ๋ก๋์์ ์๋น์ค๋ฅผ ํตํด์ ์์ฒญ์ ๋ณด๋ผ ํฌํธ
- ์๋น์ค๋ 80 ํฌํธ๋ก ๋ค์ด์จ ์์ฒญ์ ๋ฐ์์ > ์ด์์๋ pod๋ฅผ ํ์ธํ๊ณ > ๊ทธ pod์ 8080 ํฌํธ๋ก ์์ฒญ์ ๋ณด๋ด์ค๋ค.
- type์ ๋ณด๋ฉด loadBalancer๋ก ๋์ด์๋ค. GKE์์ loadBalancer type์ service๋ ๊ณ ์ ์ ip ์ฃผ์๋ฅผ ๊ฐ๊ณ ์ธ๋ถ ์ ์์ด ํ์ฉ๋๋ค. GKE๋ฅผ ์ฌ์ฉ ์ค์ผ ๊ฒฝ์ฐ ip๊ฐ ํ ๋น๋๋ฉด <IP_ADDRESS>:80 ์ฃผ์๋ก ์ ์ํด๋ณผ ์ ์๋ค.
- ์ถํ gateway api๋ฅผ ์ฌ์ฉํด์ ์ ์์ผ๋ก ์ ์ํ๋๋ก ๋ง๋ค ๋์๋ Cluster IP ํ์ ์ผ๋ก ๋ฐ๊พธ์ด์ฃผ์ด์ผํ๋ค. ์ด ๋ด์ฉ์ ์ถํ์...