- Aiden's Lab แแ ฒแแ ณแ แ ฆแแ ฅ
- Posts
- ๐ญแแ ณแฏแ แ กแแ ฎแแ ณ แแ ฆแแ ตแแ ตแแ ณ แแ ฎแฏแแ ณแฏ แแ ตแจแแ ตแแ ฉ แแ ตแแแ กแแ งแซ minikubeแ แ ฉ! - minikube แแ ชแซแแ งแผแแ ฆแแ ฅ แแ กแ แ กแแ ขแแ ฉแแ ณแซ Kustomize แแ ตแฏแแ ณแธ
๐ญแแ ณแฏแ แ กแแ ฎแแ ณ แแ ฆแแ ตแแ ตแแ ณ แแ ฎแฏแแ ณแฏ แแ ตแจแแ ตแแ ฉ แแ ตแแแ กแแ งแซ minikubeแ แ ฉ! - minikube แแ ชแซแแ งแผแแ ฆแแ ฅ แแ กแ แ กแแ ขแแ ฉแแ ณแซ Kustomize แแ ตแฏแแ ณแธ
แแ ณแฏแ แ กแแ ฎแแ ณ แแ ฆแแ ตแแ ตแแ ณ แแ ฎแฏ Kustomizeแ แ ณแฏ minikube แแ ชแซแแ งแผแแ ฆแแ ฅ แแ ตแจแแ ตแฏ แแ ฎ แแ ตแปแแ ณแซ แแ กแแ ตแแ ณแ แ ณแฏ แแ ฆแแ ฉแผแแ กแธแแ ตแแ ก.
์๋ ํ์ธ์, Aidenโs Lab ๋ด์ค๋ ํฐ์ ๋๋ค.
์ง๋ ๊ธ์์ ์ฐ๋ฆฌ๋ ๋ก์ปฌ minikube ํด๋ฌ์คํฐ ์์์ Kubernetes Ingress๋ฅผ ์ง์ ์ ์ฉํ๊ณ ๊ธฐ๋ณธ์ ์ธ ํธ๋ํฝ ๋ผ์ฐํ ๋ ๊ฒฝํํ์ต๋๋ค.
์ด๋ฒ์๋ Kubernetes ๋ฆฌ์์ค๊ฐ ์๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํด์ minikube ํด๋ฌ์คํฐ์์ ์ฌ์ฉํด๋ณผ ๊ฑด๋ฐ์. ํนํ Kustomize๋ฅผ ํ์ฉํ ๊ฐ๋จํ Kubernetes ์ค์ ๊ด๋ฆฌ๋ฅผ ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฒ ๊ฐ์ด๋๋ฅผ ํตํด ์ฌ๋ฌ๋ถ์
Kustomize๊ฐ ๋ฌด์์ด๊ณ ,
์ด๋ป๊ฒ Kubernetes ๋ฐฐํฌ ์ค์ ์ ์ฒด๊ณ์ ์ด๊ณ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋์ง์ ๋ํด
minikube ํ๊ฒฝ์์ ๊ฒฝํํ์ค ์ ์์ ๊ฒ๋๋ค.
์ด๋ ต์ง ์๊ฒ ๋ฐ๋ผํ์ค ์ ์๋๋ก ์ต๋ํ ์ง๊ด์ ์ธ ๊ตฌ์ฑ์ผ๋ก ์ค๋นํ ๊ฐ์ด๋์ด๋, Kustomize์ ๋ํด ๊ถ๊ธํ๊ฑฐ๋ Kubernetes ๋ฐฐํฌ ์ค์ ๊ด๋ฆฌ์ ๋ํด ๊ด์ฌ ์๋ค๋ฉด ๊ผญ ํ์ฉํด๋ณด์ธ์!
โจKustomize๋?

Kustomize๋ Kubernetes ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์ ํ ํ๋ฆฟ ์์ด YAML ํ์ผ ๊ทธ๋๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ํด์ ๋๋ค.
๋ณต์กํ ํ ํ๋ฆฟ ์ธ์ด๋ฅผ ๋ณ๋๋ก ๋ฐฐ์ธ ํ์ ์์ด, ๋ฆฌ์์ค ๋ฐฐํฌ๋ฅผ ์ํ ๊ธฐ์กด YAML ํ์ผ๋ค์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด์ ํ๊ฒฝ๋ณ๋ก ํ์ํ ๋ถ๋ถ๋ง ์์ ํ๋ ๋ฐฉ์์ธ๋ฐ์.
๋ํ kubectl(1.14
๋ฒ์ ์ด์)์ ๋ด์ฅ๋์ด ์์ด ๋ณ๋ ์ค์น ์์ด๋ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ Kustomize๋ ์ ๊ทผ์ฑ์ด ์ข์ต๋๋ค.
Kustomize๋ฅผ ํ์ฉํ๋ ค๋ฉด ์๋์ ๊ฐ์ด Base ์ค์ ๊ณผ Overlays ์ค์ , ๊ทธ๋ฆฌ๊ณ kustomization.yaml
์ด๋ ๋ช
์ธ ํ์ผ์ด ํ์ํฉ๋๋ค.
Base ์ค์ : Kubernetes ๋ฆฌ์์ค๋ฅผ ๋ฐฐํฌํ๋ ๊ธฐ๋ณธ YAML ํ์ผ๋ค(์: Deployment, Service)
Overlay ์ค์ : Base ์ค์ ์ค ํ๊ฒฝ๋ณ๋ก ๋ณ๊ฒฝ๋์ด์ผ ํ ์ฌํญ์ ์ ์ํ ํ์ผ๋ค์ ๋๋ ํ ๋ฆฌ๋ก ๊ตฌ๋ถ(์: dev, staging, prod)
kustomization.yaml
:Kustomize๊ฐ ์ฐธ์กฐํ ๋ฆฌ์์ค ๋ชฉ๋ก, ์ด๋ฏธ์ง ์ ๋ณด ๋ฑ์ ์ ์
Base ์ค์ ์ด ํฌํจ๋ ๋๋ ํ ๋ฆฌ์ Overlay ์ค์ ์ด ํฌํจ๋ ๋๋ ํ ๋ฆฌ ๋ชจ๋์ ํ์
Kustomize๋ฅผ ๋์ ํ๋ฉด Kubernetes ๋ฆฌ์์ค๋ฅผ ๋ฐฐํฌํ๋ ๊ธฐ์กด YAML ํ์ผ๋ค์ Base ์ค์ ์์ ํ ๋ฒ๋ง ์ ์ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ฝ๋ ์ค๋ณต์ ํผํ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ข์ต๋๋ค.
๋ํ ๊ฐ ํ๊ฒฝ๋ณ๋ก ํ์ํ ๋ณ๊ฒฝ ์ฌํญ๋ง ๋ณ๋๋ก ๋ช ์ํ๊ณ ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ ๊ฐ์ ์ฐจ์ด์ ์ ์ฝ๊ฒ ํ์ ํ๊ณ ์ถ์ ๋ ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ฐ ํน์ง์ GitOps ์ํฌํ๋ก์ฐ์๋ ์ ์ด์ธ๋ฆฌ๊ธฐ ๋๋ฌธ์, ์ ์ธ์ ๋ฐฉ์์ผ๋ก Kubernetes ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ์ ๋์์ด ๋ฉ๋๋ค.
๐ฅ๏ธKustomize๋ก Nginx ์ฑ ๋ฐฐํฌ ์ค์ ๊ด๋ฆฌํ๊ธฐ
๊ทธ๋ผ ์ด์ ๋ถํฐ ์ง์ Kustomize๋ฅผ ์ฌ์ฉํด์ Kubernetes ๋ฐฐํฌ ์ค์ ์ ๊ด๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ์ค์ต์ ์ ํฌ๊ฐ ๊ทธ๋์ ์ฌ์ฉํ๋ minikube ํด๋ฌ์คํฐ ์์์ ์งํํ ์์ ์ธ๋ฐ์.
Base ์ค์ ์ผ๋ก ๊ธฐ๋ณธ Nginx ์ฑ์ ๋จผ์ ์ ์ํ๊ณ ,
Nginx ์ฑ์ replica ์๋ฅผ ํ๊ฒฝ๋ณ(dev, prod)๋ก ๋ค๋ฅด๊ฒ ๋ช ์ํ ๋ค์,
kubectl์ Kustomize ๋ช ๋ น์ด๋ก Nginx ์ฑ์ dev ๋๋ prod ํ๊ฒฝ์ ๋ง์ถฐ ๋ณ๊ฒฝํด๋ณด๊ฒ ์ต๋๋ค.
1๏ธโฃBase ์ค์ ๋ช ์๋ฅผ ์ํ YAML ํ์ผ ์์ฑ
๋ฐฉ๊ธ ์ดํด๋ณธ ๊ฒ์ฒ๋ผ, ๋ชจ๋ ํ๊ฒฝ์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋ Base ์ค์ ๋ค์ ๋จผ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
์ ๋ ๋ณธ ์ค์ต์ ์ํด kustoimize-test
๋๋ ํ ๋ฆฌ๋ฅผ ๋จผ์ ์์ฑํ๋๋ฐ์.
๊ทธ ์์ base
๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํด์ ์๋์ ๊ฐ์ด ์ค์ ํ์ผ๋ค์ ์์ฑํ ์์ ์
๋๋ค.
base/
โโโ nginx-deployment.yaml # Nginx์ Deployment์ Service ์ ์
โโโ kustomization.yaml
Nginx Deployment ๋งค๋ํ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ ์, ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด๋ก ํ ์คํธ์ฉ Namespace๋ฅผ ๋จผ์ ์์ฑํฉ๋๋ค.
kubectl create ns kustomize-test

์ด๋ ๊ฒ ์ค์ต์ด๋ ํ ์คํธํ ๋ ๋ณ๋์ Namespace๋ฅผ ๋ง๋ ๋ค์ ๊ทธ ์์์ ์งํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ค์ Nginx ์ฑ ๋งค๋ํ์คํธ๋ก ๋์์์, base/nginx-deployment.yaml
์๋ Nginx Pod 2๊ฐ๋ฅผ ์คํํ๋ Deployment์ ClusterIP ํ์
์ Service๋ฅผ ์ ์ํฉ๋๋ค.
# base/nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-app
namespace: kustomize-test # ํ
์คํธ์ฉ Namespace ์ง์
labels:
app: nginx
spec:
replicas: 2 # ๊ธฐ๋ณธ replica ์
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
namespace: kustomize-test
spec:
type: ClusterIP
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
๊ทธ๋ฆฌ๊ณ base/kustomization.yaml
ํ์ผ์ ๋ด์ฉ์ ์๋์ ๊ฐ์ด Nginx ๋ฐฐํฌ๋ฅผ ์ํ ๋งค๋ํ์คํธ๋ฅผ ํฌํจํ๋๋ก ์์ฑํฉ๋๋ค.
# base/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- nginx-deployment.yaml
๊ทธ๋ผ ์๋์ ๊ฐ์ ๊ตฌ์กฐ์ base
๋๋ ํ ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๊ฒ ์ฃ .

์ด๋ ๊ฒ base
๋๋ ํ ๋ฆฌ ์์ ์์ฑํ ์ค์ ๋ค์ ๊ฐ ํ๊ฒฝ์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ๋์ ๊ธฐ์ค์ด ๋๋ ๊ฒ๋๋ค.
2๏ธโฃOverlay ์ค์ ์ ์ํ YAML ํ์ผ ์์ฑ
Nginx ์ฑ ๋ฐฐํฌ๋ฅผ ์ํ Base ์ค์ ์ ๋ง์ณค์ผ๋, ์ด์ ๊ฐ๊ธฐ ๋ค๋ฅธ ํ๊ฒฝ์์ ์ด Nginx ์ฑ์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํ ์ง ๋จผ์ ์ ์ํด๋ณด๊ฒ ์ต๋๋ค.
base
์์ ์ ์ํ Nginx Deployment์ Replica ์(๊ธฐ๋ณธ 2๊ฐ)๋ฅผ ๊ฐ๋ฐ(dev
) ํ๊ฒฝ์์๋ 1๋ก, ํ๋ก๋์
(prod
) ํ๊ฒฝ์์๋ 4๋ก ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ด
์๋ค.
dev
: Nginx์ Deployment์ Replica ์๋ฅผ 1๋ก ์์ prod
: Nginx์ Deployment์ Replica ์๋ฅผ 4๋ก ์์
๋จผ์ ๊ฐ ํ๊ฒฝ์ ์ํ Overlay ์ค์ ์ ์์ฑํ๊ธฐ ์ํด, kustomize-test
๋๋ ํ ๋ฆฌ๋ก ๋ค์ ๋์์จ ๋ค์, overlays
๋๋ ํ ๋ฆฌ๋ฅผ ์๋ก ์์ฑํฉ๋๋ค.
overlays
๋๋ ํ ๋ฆฌ ์์ dev
๋๋ ํ ๋ฆฌ์ prod
๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๋๋ ํ ๋ฆฌ ์์ ๊ฐ ํ๊ฒฝ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํ๊ฒ ๋๋ ๊ฒ์ธ๋ฐ์.
์ง๊ธ๊น์ง์ kustomize-test
๋๋ ํ ๋ฆฌ์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๊ฒ ์ฃ ?

์ด์ dev
ํ๊ฒฝ์์ Nginx ์ฑ์ Replica ์๋ฅผ 1๋ก ์ค์ด๋ ๋ณ๊ฒฝ ์ฌํญ์ YAML ํ์ผ๋ก ์ ์ํด๋ณด๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด YAML ํ์ผ ์ด๋ฆ์ replicas-patch.yaml
๋ก ์ง์ ํ ๊ฒ์.
replicas-patch.yaml
ํ์ผ์๋ base
์์ ์ ์ํ Deployment์์ spec.replicas
๊ฐ์ 1๋ก ๋ณ๊ฒฝํ๋ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค.
replicas-patch.yaml
์ metadata.name
ํ๋์ metadata.namespace
ํ๋์ ๊ฐ์ base
์ Deployment์์ ์ ์ํ ๊ฐ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
# overlays/dev/replicas-patch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-app # base์ ์ ์๋ Deployment ์ด๋ฆ
namespace: kustomize-test # ํ
์คํธ์ฉ Namespace ์ง์
spec:
replicas: 1 # dev ํ๊ฒฝ์์ ํ์ํ Replica ์ ์ง์
๊ทธ ๋ค์, ๋์ผํ ๊ฒฝ๋ก์ kustomization.yaml
ํ์ผ์ ์๋์ ๊ฐ์ด ์์ฑํฉ๋๋ค.
# overlays/dev/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base # base ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก
patches:
- path: replicas-patch.yaml
์ฌ๊ธฐ์ patches
๋, base
์์ ์ ์ํ ๋ฆฌ์์ค YAML ํ์ผ์ ํน์ ๋ถ๋ถ๋ง ์ ํ์ ์ผ๋ก ์์ ํ๊ฑฐ๋ ์ถ๊ฐํ ๋ ์ฌ์ฉํ๋ ํ๋์
๋๋ค.
๋ณธ ์ค์ต์์๋ base/deployment.yaml
ํ์ผ ๋ด์ฉ ์ค Replica ์๋ฅผ ๋ณ๊ฒฝํ๋ ๋ด์ฉ๋ง ๋ด๊ธด replicas-patch.yaml
๋ก ๋ฆฌ์์ค ํจ์น๋ฅผ ์งํํ๋ ๊ฒ์
๋๋ค.
prod
๋๋ ํ ๋ฆฌ ์์๋ ์๋์ ๊ฐ์ด replicas-patch.yaml
์ kustomization.yaml
ํ์ผ์ ์์ฑํฉ๋๋ค.
# overlays/prod/replicas-patch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-app # base์ ์ ์๋ Deployment ์ด๋ฆ
namespace: kustomize-test # ํ
์คํธ์ฉ Namespace ์ง์
spec:
replicas: 4 # prod ํ๊ฒฝ์์ ํ์ํ Replica ์ ์ง์
# overlays/prod/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base # base ๋๋ ํ ๋ฆฌ์ ๊ฒฝ๋ก
patches:
- path: replicas-patch.yaml
๊ทธ๋ผ ์๋์ ๊ฐ์ด Overlay ์ค์ ํ์ผ๋ค๋ ๋ชจ๋ ์ค๋น๊ฐ ๋์๋๋ฐ์.

์ด์ kubectl ๋ช ๋ น์ด๋ก ๊ฐ ํ๊ฒฝ์ ๋ฐ๋ผ Nginx Deployment๋ฅผ ๋ฐฐํฌํด๋ณด๊ฒ ์ต๋๋ค.
3๏ธโฃ๊ฐ ํ๊ฒฝ๋ณ Nginx ์ฑ ๋ฐฐํฌํ๊ธฐ
๋จผ์ base
๋๋ ํ ๋ฆฌ์์ ์ ์ํ๋ ๊ธฐ๋ณธ ๋งค๋ํ์คํธ ํ์ผ๋ก Nginx ์ฑ์ ๋ฐฐํฌํด๋ณด๊ฒ ์ต๋๋ค.
ํ์ฌ ๊ฒฝ๋ก์ ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด๋ก Nginx Deployemnt์ Service๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
kubectl apply -f base/nginx-deployment.yaml

๊ทธ๋ผ ์ ์ด๋ฏธ์ง์์ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ, base
๋๋ ํ ๋ฆฌ ๋ด ๋งค๋ํ์คํธ์์ ์ ์ํ๋ Deployment(Replica 2๊ฐ)์ Service๊ฐ ๋ฐฐํฌ๋ ๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
์ด ์ํ์์ dev
ํ๊ฒฝ์ Overlay ์ค์ ์ ์ ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
Kustomize๋ก ์ ์๋ ํน์ ํ๊ฒฝ์ ์ค์ ์ Kubernetes ํด๋ฌ์คํฐ์ ๋ฐฐํฌํ๋ ค๋ฉด, ํฐ๋ฏธ๋์์ ํด๋นํ๋ Overlay ๋๋ ํ ๋ฆฌ๋ฅผ ๋์์ผ๋ก kubectl apply -k {overlay ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก}
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋๋ฐ์.
์ฐ๋ฆฌ๋ dev
ํ๊ฒฝ์ Overlay ์ค์ ์ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค.
kubectl apply -k overlays/dev
๋ฐฉ๊ธ ์ ์ ์ํ dev
ํ๊ฒฝ์ ์ค์ ์ด ์ ๋๋ก ์ ์ฉ๋์๋ค๋ฉด Deployment์ Replica ์๊ฐ 1๊ฐ๋ก ๊ฐ์ํด์ผ ํ๋๋ฐ์. ์ค์ ๋ก ์ค์ด๋ค์์๊น์?

dev
ํ๊ฒฝ์์์ Nginx ์ฑ ๋ฐฐํฌ ์ค์ ์ด ์ ๋๋ก ์ ์ฉ๋์์ต๋๋ค!
kubectl -n kustomize-test describe deployment nginx-app
๋ช
๋ น์ด๋ก Deployment์ Event๋ฅผ ์ดํด๋ณด๋ฉด Replica ์๊ฐ 2์์ 1๋ก ์ค์๋ค๊ณ ๋์ค๋ค์.

์ด์ prod
ํ๊ฒฝ์ ์ค์ ์ ์ ์ฉํด๋ณด๊ฒ ์ต๋๋ค. ํด๋น ์ค์ ์ Nginx Deployment์ Replica ์๊ฐ 4๊ฐ๋ก ์ง์ ๋์ด ์๋๋ฐ์. ์ค์ ๋ก ๋ฐ์๋๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
์๊น dev
ํ๊ฒฝ ์ ์ฉ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก kubectl apply -k {overlay ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก}
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋๋ฐ์. ์ด๋ฒ์ ์๋์ ๊ฐ์ด prod
๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ฉด ๋๊ฒ ์ฃ ?
kubectl apply -k overlays/prod
์ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ์คํํ๋ฉด...

์ฐ๋ฆฌ๊ฐ ๊ธฐ๋ํ๋ ๋๋ก Nginx Deployment์ Pod ์๊ฐ 4๊ฐ๋ก ๋์ด๋๋ฉด์ ์ฐจ๊ทผ์ฐจ๊ทผ ์ผ์ง๊ณ ์๋ค์!
Nginx Deployment์ Event ํํฉ์ kubectl describe ๋ช ๋ น์ด๋ก ์ดํด๋ณด๋ฉด, ์๋์ฒ๋ผ Replica ์๊ฐ 1์์ 4๋ก ๋์ด๋ฌ๋ค๊ณ ํ์๋ฉ๋๋ค!๐

์ง๊ธ๊น์ง ์ดํด๋ณธ ๊ฒ์ฒ๋ผ Kustomize๋ฅผ ํ์ฉํ๋ฉด Kubernetes ํด๋ฌ์คํฐ์ ๋ฐฐํฌ๋ ๋ฆฌ์์ค๋ฅผ ์ํ๋ ํ๊ฒฝ๋ณ๋ก ๋ค๋ฅด๊ฒ ์ ๋ฐ์ดํธํ๋ฉด์ ์ํฉ์ ๋ฐ๋ฅธ ์ ๋์ ์ธ ๋ฆฌ์์ค ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๋ณธ ๊ฐ์ด๋์์ Kustomize์ ๋ํด ๋น ๋ฅด๊ฒ ๊ฐ์ ์ก๊ณ ์ดํดํ ์ ์๋๋ก Replica ์์ ๊ฐ์ด ๊ฐ๋จํ ์ค์ ๋ง ๋ค๋ค๋๋ฐ์.
์ค์ ๋ก ConfigMap์ด๋ Secret๊ณผ ๊ฐ์ Kubernetes ๋ฆฌ์์ค๋ Kustomize๋ก ๊ด๋ฆฌํ ์ ์์ผ๋, Kubernetes๋ฅผ ์ด์ ์ค์ด๊ฑฐ๋ ํ์ตํ๊ณ ์๋ค๋ฉด Kustomize์ ๋ํด ์ง๊ณ ๋์ด๊ฐ์๋ ๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค.
๐ญ๋ง๋ฌด๋ฆฌ
์ด๋ฒ ์ํฐํด์์๋ Kustomize๋ฅผ ์ด์ฉํด์ ํ๊ฒฝ๋ณ๋ก ์ฑ์ ๋ค๋ฅด๊ฒ ๋ฐฐํฌํด๋ณด๋ ์ค์ต์ minikube ํด๋ฌ์คํฐ ์์์ ์งํํด๋ดค์ต๋๋ค.
์ด 3ํ์ ๊ฑธ์ณ์ minikube ์ค์น๋ถํฐ Kubernetes ์ค์ต๊ณผ Cloud Native ํด ์ค์ต๊น์ง ๋ค๋ค๋ดค๋๋ฐ์.
Kubernetes๊ฐ ์ด๋ฏธ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ ๋งํผ ์ค์ํ๋ค๋ณด๋, ์ฌ๋ฌ๋ถ๋ค์ด minikube๋ก Kubernetes๋ฅผ ๊ณต๋ถํ๊ณ ํ ์คํธํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํด๋๋ฆฌ๊ณ ์ถ์์ต๋๋ค.
minikube ์ค์ต ๊ฐ์ด๋ ์๋ฆฌ์ฆ๋ ์ฌ๊ธฐ์ ๋ง์น๋ ค๊ณ ํ๋๋ฐ์. ํน์ minikube๋ Kubernetes, Cloud Native์ ๊ด๋ จํด์ ๊ถ๊ธํ๊ฑฐ๋ ๋ค๋ค์ผ๋ฉด ํ๋ ์ฃผ์ ๊ฐ ์๋ค๋ฉด ์ธ์ ๋ ์๋ ค์ฃผ์ธ์.
๊ทธ๋ฌ๋ฉด ๋ค์ ์ํฐํด์์ ์๋ก์ด ์ฃผ์ ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
์ค๋๋ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
โจ์ด๋ฒ ๋ด์ค๋ ํฐ๋ ์ด๋ ์ จ๋์?
์ด๋ฒ ๊ธ์์ ๋ค๋ฃฌ ์ฃผ์ ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ๋์ง ์๋ ค์ฃผ์ธ์! ๋ด์ค๋ ํฐ๋ฅผ ๋ ๋์ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ ํ๊ธฐ ์ํด ์๋ ํผ์์ ์งง์ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์์ด์.
๐ ํผ๋๋ฐฑ ๋ณด๋ด๊ธฐ (1~2๋ถ ์์)
์ฌ๋ฌ๋ถ๋ค์ ์์คํ ์๊ฒฌ์ Aidenโs Lab ๋ด์ค๋ ํฐ์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค!
๐ญAidenโs Lab์์ ๋ ๋ง์ ์ํฐํด์ ๋ง๋๋ณด์ธ์
๋ฐํ๋ ๋ด์ค๋ ํฐ๋ฅผ ์์นด์ด๋นํ๊ณ ๋ค์ํ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ ์ค์ ๋๋ค.