Skip to content

Minzino/kind-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

kind ๊ฐ€์ด๋“œ

๋กœ์ปฌ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(kind) ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.

๐Ÿš€ ์ตœ์ข… ๋ชฉํ‘œ

  1. ๋‹ค์ค‘ ๋…ธ๋“œ(Multi-node) ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋กœ์ปฌ์— ๊ตฌ์ถ•ํ•œ๋‹ค.
  2. k9s๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•œ๋‹ค.
  3. ์ƒ˜ํ”Œ NestJS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜๊ณ , **๋ฐ์ดํ„ฐ๋ฅผ ์˜์†์ ์œผ๋กœ ์ €์žฅ(PV/PVC)**ํ•œ๋‹ค.
  4. Helm์„ ์‚ฌ์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋ฐฐํฌํ•œ๋‹ค.
  5. ์™ธ๋ถ€(๋กœ์ปฌ ๋จธ์‹ )์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘์†ํ•œ๋‹ค.
  6. ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ConfigMap, Secret์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •์„ ๊ด€๋ฆฌํ•œ๋‹ค.
  7. RBAC๋ฅผ ํ†ตํ•ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ œ์–ดํ•œ๋‹ค.
  8. ์‹ค์Šต ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•œ๋‹ค.

๐Ÿ“– ๊ฐ€์ด๋“œ ๋งต

์ด ๊ฐ€์ด๋“œ๋Š” ๊ฐ ๋‹จ๊ณ„๋ณ„๋กœ ์ƒ์„ธํ•œ ์„ค๋ช…์„ ๋‹ด์€ ๋ณ„๋„์˜ ๋ฌธ์„œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿƒโ€โ™‚๏ธ ๋น ๋ฅธ ์‹œ์ž‘ (Quick Start)

์ด๋ฏธ ๊ฐœ๋…์— ์ต์ˆ™ํ•˜๋‹ค๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ:

    # kind-config.yaml ํŒŒ์ผ์—์„œ extraPortMappings๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
    kind create cluster --name nest-app-cluster --config kind-config.yaml
  2. Ingress Controller ์„ค์น˜ ๋ฐ ํฌํŠธ ํฌ์›Œ๋”ฉ:

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
    kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=120s
    # Ingress Controller ํŒŒ๋“œ ์ด๋ฆ„ ํ™•์ธ (์˜ˆ: ingress-nginx-controller-xxxxxxxxxx-yyyyy)
    # kubectl get pods -n ingress-nginx -l app.kubernetes.io/component=controller -o name
    # ๋กœ์ปฌ 8080 ํฌํŠธ๋กœ ํฌ์›Œ๋”ฉ (๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰)
    # kubectl port-forward -n ingress-nginx pod/<YOUR_INGRESS_CONTROLLER_POD_NAME> 8080:80 &
  3. Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋ฐ ๋กœ๋“œ:

    docker build -t my-nest-app:1.0.0 ./nest-app
    kind load docker-image my-nest-app:1.0.0 --name nest-app-cluster
  4. Helm ๋ฐฐํฌ:

    helm install my-nest-app ./helm/my-nest-app
  5. ์ ‘์† ํ™•์ธ:

    # /etc/hosts ํŒŒ์ผ์— "127.0.0.1 my-nest-app.local" ์ถ”๊ฐ€ ํ›„
    curl http://my-nest-app.local:8080
    # ๋˜๋Š” Host ํ—ค๋”๋ฅผ ๋ช…์‹œํ•˜์—ฌ ์ ‘์†
    # curl -H "Host: my-nest-app.local" http://127.0.0.1:8080
  6. ํด๋Ÿฌ์Šคํ„ฐ ์‚ญ์ œ:

    kind delete cluster --name nest-app-cluster

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published