๐Ÿ“‚
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

Was this helpful?

  1. ๋„คํŠธ์›Œํ‚น - ์„œ๋น„์Šค ๋…ธ์ถœ

Ingress

Previous์„œ๋น„์Šค ๋…ธ์ถœNextIngress Controller

Last updated 3 years ago

Was this helpful?

๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์™ธ๋ถ€์˜ HTTP ๋ฐ HTTPS ๊ฒฝ๋กœ๋ฅผ ์— ๋…ธ์ถœ ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ…์€ Ingress ๋ฆฌ์†Œ์Šค์— ์ •์˜ ๋œ ๊ทœ์น™์— ์˜ํ•ด ์ œ์–ด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Ingress๊ฐ€ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋กœ ๋ณด๋‚ด๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ ์ž…๋‹ˆ๋‹ค.

Ingress๋Š” ์„œ๋น„์Šค์— ์™ธ๋ถ€์—์„œ ์—ฐ๊ฒฐํ•  ์ˆ˜์žˆ๋Š” URL์„ ์ œ๊ณตํ•˜๊ณ , ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๊ณ , SSL/TLS๋ฅผ ํ„ฐ๋ฏธ๋„ค์ด์…˜ ํ•˜๊ณ , ์ด๋ฆ„ ๊ธฐ๋ฐ˜์˜ ๊ฐ€์ƒ ํ˜ธ์ŠคํŒ…์„ ์ œ๊ณต ํ•˜๋„๋ก ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Ingress๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•˜์ง€๋งŒ, ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ์—ฃ์ง€ ๋ผ์šฐํ„ฐ ๋˜๋Š” ์ถ”๊ฐ€ ํ”„๋ŸฐํŠธ ์—”๋“œ๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Ingress๋Š” ์™ธ๋ถ€ ์š”์ฒญ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๊ทœ์น™๋“ค์„ ์„ค์ •ํ•ด๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด๋Ÿฐ ์„ค์ •์ด ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๊ฒƒ์ด Ingress controller์ž…๋‹ˆ๋‹ค.

๊ฐ http ๊ทœ์น™์—๋Š” ๋‹ค์Œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ์„ ํƒ์  ํ˜ธ์ŠคํŠธ. ์ด ์˜ˆ์—์„œ๋Š” ํ˜ธ์ŠคํŠธ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์ง€์ •๋œ IP ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์ธ๋ฐ”์šด๋“œ HTTP ํŠธ๋ž˜ํ”ฝ์— ๊ทœ์น™์ด ์ ์šฉ ๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๊ฐ€ ์ œ๊ณต๋˜๋ฉด (์˜ˆ:foo.bar.com) ๊ทœ์น™์ด ํ•ด๋‹น ํ˜ธ์ŠคํŠธ์— ์ ์šฉ ๋ฉ๋‹ˆ๋‹ค.

  • ๊ฐ๊ฐ serviceName ๋ฐ servicePort๋กœ ์ •์˜๋œ ์—ฐ๊ด€๋œ ๋ฐฑ์—”๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ ๋ชฉ๋ก (์˜ˆ:/testpath). ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํŠธ๋ž˜ํ”ฝ์„ ์ฐธ์กฐ ๋œ ์„œ๋น„์Šค๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ํ˜ธ์ŠคํŠธ์™€ ๊ฒฝ๋กœ๊ฐ€ ์ˆ˜์‹  ์š”์ฒญ์˜ ์ฝ˜ํ…์ธ ์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ฐฑ์—”๋“œ๋Š” ์ข…์ข… ์‚ฌ์–‘์˜ ๊ฒฝ๋กœ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Ingress ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๊ตฌ์„ฑ ๋ฉ๋‹ˆ๋‹ค.

Ingress ๊ฐ์ฒด์˜ HTTP ์š”์ฒญ๊ณผ ์ผ์น˜ํ•˜๋Š” ํ˜ธ์ŠคํŠธ ๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ์—†์œผ๋ฉด ํŠธ๋ž˜ํ”ฝ์ด ๊ธฐ๋ณธ ๋ฐฑ์—”๋“œ๋กœ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค.

Ingress๋Š” ์ž„์˜์˜ ํฌํŠธ ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์„ ๋…ธ์ถœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. HTTP ๋ฐ HTTPS ์ด์™ธ์˜ ์„œ๋น„์Šค๋ฅผ ์ธํ„ฐ๋„ท์— ๋…ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋˜๋Š” ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์™€ ๊ฐ™์€ Ingress controller๋ฅผ ๋ฐฐํฌํ•ด์•ผ ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ Ingress ์ปจํŠธ๋กค๋Ÿฌ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์–‘ํ•œ Ingress controller ๋งˆ๋‹ค ์•ฝ๊ฐ„ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฅผ ์œ„ํ•œ ์ตœ์†Œ Ingress ๋ฆฌ์†Œ์Šค ์˜ˆ ์ž…๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋ชจ๋“  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฆฌ์†Œ์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Ingress์—๋Š” apiVersion,kind,metadata ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Ingress ๊ฐ์ฒด์˜ ์ด๋ฆ„์€ ์œ ํšจํ•œ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ • ํŒŒ์ผ ์ž‘์—…์— ๋Œ€ํ•œ ์ผ๋ฐ˜ ์ •๋ณด๋Š” , , ๋ฅผ ์ฐธ์กฐ ํ•˜์‹ญ์‹œ์˜ค. Ingress๋Š” annotation์„ ์‚ฌ์šฉํ•˜์—ฌ Ingress ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ผ๋ถ€ ์˜ต์…˜์„ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๊ตฌ์„ฑ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋กœ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋Š” ๋‹ค๋ฅธ annotation์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค annotation์ด ์ง€์› ๋˜๋Š”์ง€ ์•Œ์•„ ๋ณด๋ ค๋ฉด ์„ ํƒํ•œ Ingress ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ๊ฒ€ํ†  ํ•˜์‹ญ์‹œ์˜ค.

Ingress ์—๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋˜๋Š” ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ชจ๋“  ์ˆ˜์‹  ์š”์ฒญ๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ทœ์น™ ๋ชฉ๋ก์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. Ingress ๋ฆฌ์†Œ์Šค๋Š” HTTP ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™๋งŒ ์ง€์› ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ๋Š” ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์„œ๋น„์Šค ๋ฐ ํฌํŠธ ์ด๋ฆ„์˜ ์กฐํ•ฉ ์ž…๋‹ˆ๋‹ค. ๊ทœ์น™์˜ ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ์™€ ์ผ์น˜ํ•˜๋Š” Ingress์— ๋Œ€ํ•œ HTTP (๋ฐ HTTPS) ์š”์ฒญ์ด ๋‚˜์—ด๋œ ๋ฐฑ์—”๋“œ๋กœ ์ „์†ก ๋ฉ๋‹ˆ๋‹ค.

๊ทœ์น™์ด ์—†๋Š” Ingress๋Š” ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ๋‹จ์ผ ๊ธฐ๋ณธ ๋ฐฑ์—”๋“œ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฐฑ์—”๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ ๊ตฌ์„ฑ ์˜ต์…˜์ด๋ฉฐ Ingress ๋ฆฌ์†Œ์Šค์— ์ง€์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฅผ ํด๋ฆญํ•˜์—ฌ ๊ด€๋ จ ์ฃผ์ œ๋ฅผ ๋” ์ฝ์–ด ๋ณด์‹ญ์‹œ์˜ค.

Service.Type = NodePort
Service.Type=LoadBalancer
AWS Load Balancer Controller
ingress-nginx
DNS subdomain name
deploying applications
configuring containers
managing resources
rewrite-target annotation
Ingress controller
spec
Services doc
Ingress controller
์—ฌ๊ธฐ
Ingress
services
Ingress controller