๐Ÿ“‚
Amazon EKS
  • Amazon EKS
  • ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ƒ์„ฑํ•˜๊ธฐ
    • Cloud9 IDE ํ™˜๊ฒฝ ๊ตฌ์„ฑ
    • IAM ์—ญํ•  ์ƒ์„ฑ
    • SSH & CMK Key ์ƒ์„ฑํ•˜๊ธฐ
  • EKS ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•
    • EKS ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ
  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋Œ€์‹œ๋ณด๋“œ ๋ฐฐํฌ
    • Kubernetes ๊ณต์‹ ๋Œ€์‹œ๋ณด๋“œ ๋ฐฐํฌ
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐฐํฌ
    • ์˜ˆ์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ
    • ์„œ๋น„์Šค ์Šค์ผ€์ผ(Scaling)
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ •๋ฆฌํ•˜๊ธฐ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ - Helm
    • HELM ์„ค์น˜
    • Helm์œผ๋กœ Nginx ๋ฐฐํฌ
    • Helm์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐฐํฌ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - POD ๋ฐฐ์น˜
    • NodeSelector
    • Affinity and Anti-affinity
    • ๋” ์‹ค์šฉ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - Health Checks
    • Liveness ํ”„๋กœ๋ธŒ ๊ตฌ์„ฑ
    • Readiness ํ”„๋กœ๋ธŒ ๊ตฌ์„ฑ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ - AutoScaling
    • HPA ๊ตฌ์„ฑํ•˜๊ธฐ
    • CA ๊ตฌ์„ฑํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋„คํŠธ์›Œํ‚น - ์„œ๋น„์Šค ๋…ธ์ถœ
    • ์„œ๋น„์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ฐ๊ฒฐ
    • ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ธฐ
    • ์„œ๋น„์Šค ๋…ธ์ถœ
    • Ingress
    • Ingress Controller
    • ์ •๋ฆฌํ•˜๊ธฐ
  • ๋„คํŠธ์›Œํฌ - Calico ์ •์ฑ…
    • Calico ์„ค์น˜ํ•˜๊ธฐ
    • Stars Policy Demo
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating ๊ถŒํ•œ์„ค์ • - RBAC
    • ํ…Œ์ŠคํŠธ POD ์„ค์น˜
    • ์‚ฌ์šฉ์ž ์ƒ์„ฑ ๋ฐ ๋งตํ•‘
    • ์—ญํ• ๊ณผ ๋ฐ”์ธ๋”ฉ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating ๊ถŒํ•œ์„ค์ • - IAM ๊ทธ๋ฃน
    • IAM Role, Group & User ์ƒ์„ฑํ•˜๊ธฐ
    • RBAC ์„ค์ •ํ•˜๊ธฐ
    • EKS ์—‘์„ธ์Šค ํ…Œ์ŠคํŠธ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating ๊ถŒํ•œ์„ค์ • - Service account
    • OIDC ์ž๊ฒฉ ์ฆ๋ช… ๊ณต๊ธ‰์ž ์ƒ์„ฑํ•˜๊ธฐ
    • IAM ์—ญํ•  ์ƒ์„ฑ ๋ฐ ์ง€์ •
    • ์ƒ˜ํ”Œ POD ๋ฐฐํฌ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating - ๋„คํŠธ์›Œํฌ - POD Security Group
    • SG ์ƒ์„ฑํ•˜๊ธฐ
    • RDS ์ƒ์„ฑํ•˜๊ธฐ
    • CNI ๊ตฌ์„ฑํ•˜๊ธฐ
    • SG ์ •์ฑ…
    • Pod ๋ฐฐํฌํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating - ๋ชจ๋‹ˆํ„ฐ๋ง - Prometheus and Grafana
    • Prometheus ๋ฐฐํฌํ•˜๊ธฐ
    • Grafana ๋ฐฐํฌํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ(Optional)
  • Updating ๋ชจ๋‹ˆํ„ฐ๋ง - X-Ray
    • X-Ray DaemonSet ๋ฐฐํฌํ•˜๊ธฐ
    • ์ƒ˜ํ”Œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐฐํฌ
    • X-Ray console ํ™•์ธ
    • ์ •๋ฆฌํ•˜๊ธฐ(Optional)
  • Updating ๋ชจ๋‹ˆํ„ฐ๋ง - Container Insights
    • ์‚ฌ์ „ ์ค€๋น„
    • Container Insights ๊ตฌ์„ฑํ•˜๊ธฐ
    • ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ
    • Container Insights ํ™•์ธํ•˜๊ธฐ
    • ์ •๋ฆฌํ•˜๊ธฐ(Optional)
  • Updating CD - Gitops with Flux
    • ์‚ฌ์ „ ์ค€๋น„
    • Codepipeline
    • EKS์— ๋ฐฐํฌ
    • ์ •๋ฆฌํ•˜๊ธฐ
  • Updating Argo Rollouts
  • Updating Service Mesh - AWS App Mesh
    • Fargate ๋ฐ OBSERVABILITY ๊ตฌ์„ฑ
    • Product Catalog App ๋ฐฐํฌ
    • APP MESH ์„ค์น˜
    • Porting to APP MESH
    • Virtual Gateway ๊ตฌ์„ฑ
    • Canary
    • Observability
  • Updating ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ - EKS Cluster
    • Upgrade EKS control Plane
    • Upgrade EKS CORE ADD-ONs
    • Upgrade Managed Node Group
Powered by GitBook
On this page
  • 1. ์‚ฌ์ „ ์ค€๋น„ํ•˜๊ธฐ
  • 2. ํŒŒ๋“œ ๊ฐ„ ๊ธฐ๋ณธ ํ†ต์‹ 
  • 3. ๋„คํŠธ์›Œํฌ ์ •์ฑ… ์ ์šฉํ•˜๊ธฐ
  • 4. ๋ฐฉํ–ฅ์„ฑ ํŠธ๋ž˜ํ”ฝ ํ—ˆ์šฉํ•˜๊ธฐ

Was this helpful?

  1. ๋„คํŠธ์›Œํฌ - Calico ์ •์ฑ…

Stars Policy Demo

PreviousCalico ์„ค์น˜ํ•˜๊ธฐNext์ •๋ฆฌํ•˜๊ธฐ

Last updated 1 year ago

Was this helpful?

์ด ์‹ค์Šต์—์„œ๋Š” EKS ํด๋Ÿฌ์Šคํ„ฐ์— ํ”„๋ŸฐํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, ํด๋ผ์ด์–ธํŠธ ๋ฐ UI ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค ๊ฐ„์˜ ํ†ต์‹ ์„ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ฐจ๋‹จํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ๋ชจ์—๋Š” ๊ฐ ์„œ๋น„์Šค๊ฐ„์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ˆ˜์‹  ๋ฐ ์†ก์‹  ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ด€๋ฆฌ UI๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์‚ฌ์ „ ์ค€๋น„ํ•˜๊ธฐ

๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ๋งŒ๋“ค๊ธฐ ์ „์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ƒˆ ํด๋”๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

mkdir ~/environment/calico_resources
cd ~/environment/calico_resources

๋‹ค์Œ ๋ช…๋ น์„ Cloud9 ํ„ฐ๋ฏธ๋„์— ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜์—ฌ stars ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

cd ~/environment/calico_resources
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/create_resources.files/namespace.yaml

cat namespace.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

stars๋ผ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

kubectl apply -f namespace.yaml

๋‹ค์Œ ๋ช…๋ น์„ Cloud9 ํ„ฐ๋ฏธ๋„์— ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค.

cd ~/environment/calico_resources
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/create_resources.files/management-ui.yaml
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/create_resources.files/backend.yaml
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/create_resources.files/frontend.yaml
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/create_resources.files/client.yaml

cat management-ui.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ์„ ์‚ดํŽด ๋ด…๋‹ˆ๋‹ค.

ํ•ด๋‹น ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค ๋‚ด์—์„œ ๊ด€๋ฆฌ UI ์„œ๋น„์Šค ๋ฐ ๋ ˆํ”Œ๋ฆฌ์นด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ UI ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

kubectl apply -f management-ui.yaml

cat backend.yaml ๊ณผ cat frontend.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ํ”„๋ŸฐํŠธ ์—”๋“œ ์„œ๋น„์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์ถ• ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ํ•ฉ๋‹ˆ๋‹ค.

stars ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค ๋‚ด์—์„œ ํ”„๋ŸฐํŠธ ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ ๋ ˆํ”Œ๋ฆฌ์นด ์ปจํŠธ๋กค๋Ÿฌ์™€ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

kubectl apply -f backend.yaml
kubectl apply -f frontend.yaml

๋งˆ์ง€๋ง‰์œผ๋กœ cat client.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค์™€ ๋ ˆํ”Œ๋ฆฌ์นด ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ํด๋ผ์ด์–ธํŠธ ์„œ๋น„์Šค๋ฅผ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ์„ ์ ์šฉ ํ•ฉ๋‹ˆ๋‹ค.

kubectl apply -f client.yaml

์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ชจ๋“  ํŒŒ๋“œ๊ฐ€ ์‹คํ–‰ ์ค‘ ์ƒํƒœ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค:

kubectl get pods --all-namespaces

์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๋ชจ๋“  Docker ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š”๋ฐ ๋ช‡ ๋ถ„ ์ •๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์„ฑํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • stars๋ผ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค

  • stars ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค ๋‚ด์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ replica ๋ฐ service

  • management-ui๋ผ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค

  • management-ui ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ๋˜๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ๋ฐฐํฌ ๋ฐ ์„œ๋น„์Šค management-ui

  • client๋ผ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค

  • client ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋‚ด์— client deployment ๋ฐ service

2. ํŒŒ๋“œ ๊ฐ„ ๊ธฐ๋ณธ ํ†ต์‹ 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ํŒŒ๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด๋–ค ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐ ๋˜์—ˆ๋Š”์ง€์— ๊ด€๊ณ„์—†์ด ๋‹ค๋ฅธ ํŒŒ๋“œ์™€ ํ†ต์‹  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒŒ๋“œ์—๋Š” ๊ณ ์œ  ํ•œ IP ์ฃผ์†Œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํŒŒ๋“œ๊ฐ„์— ๋งํฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ management-ui์— ์˜ํ•ด ์‹œ์—ฐ ๋ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌ UI๋ฅผ ์—ด๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ UI์˜ DNS ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ ํ•˜์‹ญ์‹œ์˜ค:

kubectl get svc -o wide -n management-ui

๊ฒฐ๊ณผ์—์„œ EXTERNAL-IP๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ๋ถ™์—ฌ ๋„ฃ์Šต๋‹ˆ๋‹ค. EXTERNAL-IP ์—ด์—๋Š” โ€œelb.amazonaws.comโ€์œผ๋กœ ๋๋‚˜๋Š” ๊ฐ’์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์˜ UI๋Š” ์„œ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์„œ๋น„์Šค์˜ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

3. ๋„คํŠธ์›Œํฌ ์ •์ฑ… ์ ์šฉํ•˜๊ธฐ

ํ”„๋กœ๋•์…˜ ์ˆ˜์ค€์˜ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ํŒŒ๋“œ ๊ฐ„ ํ†ต์‹ ์„ ๊ฐœ๋ฐฉํ•˜๋Š” ๊ฒƒ์€ ์•ˆ์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ์„œ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์„ Cloud9 ํ„ฐ๋ฏธ๋„์— ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜์‹ญ์‹œ์˜ค.

cd ~/environment/calico_resources
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/apply_network_policies.files/default-deny.yaml

cat default-deny.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์‚ดํŽด ๋ณด๋ฉด, ์—ฌ๊ธฐ์—์„œ podSelector์—๋Š” matchLabels๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  pod๊ฐ€ ์•ก์„ธ์Šคํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

stars ๋„ค์ž„์ŠคํŽ˜์ด์Šค (ํ”„๋ŸฐํŠธ ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค) ๋ฐ client ๋„ค์ž„์ŠคํŽ˜์ด์Šค (ํด๋ผ์ด์–ธํŠธ ์„œ๋น„์Šค)์— ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

kubectl apply -n stars -f default-deny.yaml
kubectl apply -n client -f default-deny.yaml

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๋ฉด ๊ด€๋ฆฌ UI๊ฐ€ ๋…ธ๋“œ์— ๋„๋‹ฌ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ UI์— ์•„๋ฌด๊ฒƒ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๋„คํŠธ์›Œํฌ ์ •์ฑ…์€ ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ  ํ•ด๋‹น ํŒŒ๋“œ์— ๋„๋‹ฌ ํ•  ์ˆ˜ ์žˆ๋Š” ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๊ทœ์น™์„ ์ •์˜ ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹  ๋˜๋Š” ์†ก์‹  ๋˜๋Š” ๋‘˜ ๋‹ค๋ฅผ ์ง€์ • ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ทœ์น™์€ from ๋ฐ ports ์„น์…˜ ๋ชจ๋‘์™€ ์ผ์น˜ํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ์ƒˆ ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์„ Cloud9 ํ„ฐ๋ฏธ๋„์— ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜์‹ญ์‹œ์˜ค.

cd ~/environment/calico_resources
wget https://eksworkshop.com/calico/stars_policy_demo/apply_network_policies.files/allow-ui.yaml
wget https://eksworkshop.com/calico/stars_policy_demo/apply_network_policies.files/allow-ui-client.yaml

๋‹ค์‹œ cat allow-ui.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ ๋‚ด์šฉ์„ ๊ฒ€์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

cat allow-ui-client.yaml์„ ์‹คํ–‰ํ•˜์—ฌ ํŒŒ์ผ ๋‚ด์šฉ์„ ๊ฒ€์‚ฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ํ—ˆ์šฉ ์ •์ฑ…์„ ์ ์šฉํ•˜๊ณ  ๊ด€๋ฆฌ UI๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

kubectl apply -f allow-ui.yaml
kubectl apply -f allow-ui-client.yaml

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜๋ฉด ๊ด€๋ฆฌ UI๊ฐ€ ๋ชจ๋“  ์„œ๋น„์Šค์— ๋„๋‹ฌ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์„œ๋กœ ํ†ต์‹  ํ•  ์ˆ˜ ์—†์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๋ฐฉํ–ฅ์„ฑ ํŠธ๋ž˜ํ”ฝ ํ—ˆ์šฉํ•˜๊ธฐ

ํด๋ผ์ด์–ธํŠธ์—์„œ ํ”„๋ŸฐํŠธ ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ๋กœ์˜ ๋ฐฉํ–ฅ์„ฑ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์„ Cloud9 ํ„ฐ๋ฏธ๋„์— ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜์‹ญ์‹œ์˜ค.

cd ~/environment/calico_resources
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/directional_traffic.files/backend-policy.yaml
wget https://eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/directional_traffic.files/frontend-policy.yaml

์ด ๋ฐฑ์—”๋“œ ์ •์ฑ…์„ cat backend-policy.yaml๋กœ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  ingress:
    - from:
        - podSelector:
            matchLabels:
              role: frontend

cat frontend-policy.yaml๋กœ ํ”„๋ŸฐํŠธ ์—”๋“œ ์ •์ฑ…์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ ์—”๋“œ์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.

  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              role: client

์ˆ˜์ •ํ•œ ํ—ˆ์šฉ ์ •์ฑ…์„ ์ ์šฉํ•˜๊ณ  ๊ด€๋ฆฌ UI๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

kubectl apply -f backend-policy.yaml
kubectl apply -f frontend-policy.yaml

๊ฒฐ๋ก 

๋ฐฑ์—”๋“œ ์ •์ฑ…์„ ์‚ดํŽด ๋ณด๋ฉด Spec์—๋Š” ๋ผ๋ฒจ์ด role:backend์ธ ๋ชจ๋“  ํŒŒ๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋ผ๋ฒจ์ด role:frontend์ด๊ณ  TCP ํฌํŠธ 6379์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ๋“œ์—์„œ ์ˆ˜์‹ ์„ ํ—ˆ์šฉํ•˜๋Š” podSelector๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ํฌํŠธ ๋ฒˆํ˜ธ์—์„œ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์ด ํ—ˆ์šฉ ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ ์—”๋“œ ์ •์ฑ…์€ TCP ํฌํŠธ 80์—์„œ role:client ๋ผ๋ฒจ์ด ์žˆ๋Š” ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค์—์„œ ์ˆ˜์‹ ์„ ํ—ˆ์šฉ ํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ  ์œ ์‚ฌ ํ•ฉ๋‹ˆ๋‹ค.

์ดํ›„ ๋‹จ๊ณ„์—์„œ ์ด ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค์— ํ”„๋ŸฐํŠธ ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ ์™€ ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

yaml ํŒŒ์ผ์˜ <EDIT: ~~~>์„ ํŽธ์ง‘ํ•˜์—ฌ ํ”„๋ŸฐํŠธ ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์—์„œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

replication controllers
services
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌธ์„œ