๐Ÿ’ป
DevOps Cookbook
  • Home
    • Meiko DevOps Cookbook
  • Gitlab
    • Tips
      • ์‚ฌ์ „ ์ •์˜๋œ CI/CD ๋ณ€์ˆ˜์˜ ๊ธฐ๋ณธ ์„ธํŠธ
    • ๋”ฅ๋‹ค์ด๋ธŒ Gitlab CI/CD
      • GitLab CI/CD ์‹œ์ž‘ํ•˜๊ธฐ
        • .gitlab-ci.yml ํŒŒ์ผ
        • Runner
        • ํŒŒ์ดํ”„๋ผ์ธ
        • CI/CD ๋ณ€์ˆ˜
        • CI/CD ์ปดํฌ๋„ŒํŠธ
      • CI/CD YAML ๊ตฌ๋ฌธ ์ฐธ์กฐ
    • CI/CD Notifications
      • CI/CD slack notifiaction ๊ตฌ์ถ•์ž‘์—… ๊ฒฐ๊ณผ
  • Kubernetes
    • Persistence Volume
      • play-cluster
    • Ingress
      • Ingress๋ž€
      • ์ˆ˜๋™์œผ๋กœ ingress ๋ฐฐํฌํ•˜๊ธฐ
    • Security
    • HPA
      • hpa troubleshooting history
        • 1. HELM_UPGRADE_VALUES_FILE๋กœ hpa๊ฐ€ ์ถ”๊ฐ€๋˜์ง€ ์•Š๋Š” ์›์ธ
        • 2. targetCPUUtilizationPercentage ๊ณ„์‚ฐ์€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€
        • 3. helm values์— cpu resource ๋‹จ์œ„๋ฅผ 1๋กœ ํ–ˆ์„ ๋•Œ ์‹ค์ œ ํŒŒ๋“œ์— 1m( 0.001 ) ์ฝ”์–ด๊ฐ€ ๋ถ€์—ฌ๋œ ๊ฒƒ
        • 4. pod cpu resources๊ฐ€ ํ• ๋‹น๋ฐ›์€ ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ธ ์ง€ ํ˜„์žฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ธ์ง€ ๊ฒ€์ฆ
        • 5. ์„ค์ •ํ•œ hpa๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ pod auto scaling์ด ๋™์ž‘ํ•˜๋Š” ์ง€ ๊ฒ€์ฆ
      • HorizontalPodAutoscaler์˜ behavior ํ•„๋“œ ์ค‘ stabilizationWindowSeconds ๊ฐ’์ด Kubernetes ์ฝ”๋“œ์—์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ๋ถ„์„
  • prometheus
    • prometheus ๋ฆฌ์†Œ์Šค alert ์„ธํŒ…
      • ์Šฌ๋ž™ ์ฑ„๋„ ๊ตฌ์„ฑ
      • alert ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๊ฐ€์ด๋“œ
  • Loki
    • loki-grafana alert ์„ธํŒ…
      • 1์ฐจ ๊ฒ€์ฆ ๊ฒฐ๊ณผ
      • Alert ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๊ฐ€์ด๋“œ
  • load test
    • nGrinder
      • nGrinder Test Configuration ๊ฐ’๋“ค
      • ์งˆ๋ฌธ๋ฆฌ์ŠคํŠธ
        • groovy๋Š” JUnit ์Šคํƒ€์ผ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๊ฑด๊ฐ€ ? + GTest๊ฐ€ ๋ญ”์ง€ ์ข€ ํ—ท๊ฐˆ๋ฆฐ๋‹ค
      • Script
        • Groovy Script Structure
          • reference
          • Groovy script deep dive
          • Groovy Script ์‹คํ–‰ ๊ตฌ์กฐ ๋ถ„์„
      • Test
        • [nGrinder] single endpoint load test ํ•˜๊ธฐ
          • [nGrinder] single endpoint load test script ๊ธฐ๋ฐ˜ cpu ์‚ฌ์šฉ๋Ÿ‰ ํ…Œ์ŠคํŠธ
          • [nGrinder] single endpoint load test script ๊ธฐ๋ฐ˜ pod autoscaling ํ…Œ์ŠคํŠธ
        • [nGrinder] multi endpoint load test ํ•˜๊ธฐ
          • [nGrinder] multi endpoint load test script์— ์ •์˜ํ•œ test๋“ค์ด ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๋ณด์žฅ ๋ฐ›๋Š”๊ฐ€?
  • AWS
    • aws-cli
      • eks cluster vpc ์ŠคํŽ™๋ณด๊ธฐ
    • aws-vpc
  • EKS
    • youtube links
    • EKS best practice
    • ์งˆ๋ฌธ ์ •๋ฆฌ
  • Istio
    • Istio Basic
      • Istio ์ปดํฌ๋„ŒํŠธ ๋ณ„ ์—ญํ• 
      • Kubernetes Ingress์™€ Istio VirtualService์˜ ๊ด€๊ณ„
    • Gateway
      • Gateway ์ฃผ์š” ํŠน์ง•
      • Istio Gateway์™€ Kubernetes Ingress์˜ ์ฃผ์š” ์ฐจ์ด์ 
  • IAC
    • Terraform
      • ํ…Œ๋ผํผ ์„ค์น˜
      • ํ…Œ๋ผํผ ๋ฌธ์„œ
      • ํ…Œ๋ผํผ ๊ฐœ๋…
        • ์–ธ์–ด ๊ตฌ์กฐ
        • ์‚ฌ์šฉ ์ˆœ์„œ
        • ์ƒํƒœํŒŒ์ผ (tfstate)
        • ๋ณ€์ˆ˜ ์ •์˜ ๋ฐฉ๋ฒ•
      • Terraform - AWS VPC
    • Ansible
      • Ansible ์ดˆ๊ธฐ ํ•™์Šต ๋‚ด์šฉ
      • Ansible Playbook
      • Ansible Study
        • Inventory
        • Playbook
          • Module
        • Variable
  • etc
    • Toss SLASH24
    • Elastic Load Balancing
    • ๋‚™์„œ์žฅ
      • IRSA
    • deep dive
      • Istio ๊ณต์‹๋ฌธ์„œ ๋ฒˆ์—ญ
        • Overview
          • What is Istio?
          • Why choose Istio?
          • Sidecar or ambient?
        • Concepts
          • Traffic Management
        • Page
      • eks ์—์„œ control plane < - > data plane ํ†ต์‹  ์›๋ฆฌ
Powered by GitBook
On this page
  • ์™œ Istio๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ์š”?
  • ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ๊ฐ•๋ ฅํ•จ
  • Envoy ํ”„๋ก์‹œ
  • ์ปค๋ฎค๋‹ˆํ‹ฐ
  • ํŒจํ‚ค์ง€
  • ๊ณ ๋ คํ•œ ๋Œ€์•ˆ๋“ค
  • ์™œ "eBPF๋ฅผ ์‚ฌ์šฉ"ํ•˜์ง€ ์•Š๋‚˜์š”?
  • ์™œ ๋…ธ๋“œ๋‹น ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋‚˜์š”?
  • CNI๊ฐ€ ์žˆ๋Š”๋ฐ ์™œ Istio๊ฐ€ ํ•„์š”ํ•œ๊ฐ€์š”?
Edit on GitHub
  1. etc
  2. deep dive
  3. Istio ๊ณต์‹๋ฌธ์„œ ๋ฒˆ์—ญ
  4. Overview

Why choose Istio?

PreviousWhat is Istio?NextSidecar or ambient?

Last updated 10 months ago

์™œ Istio๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ์š”?

Istio๋Š” 2017๋…„ ์ถœ์‹œ๋  ๋•Œ ์‚ฌ์ด๋“œ์นด ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ๋ฉ”์‹œ์˜ ๊ฐœ๋…์„ ์„ ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ์ œ๋กœ ํŠธ๋Ÿฌ์ŠคํŠธ ๋„คํŠธ์›Œํ‚น์„ ์œ„ํ•œ ํ‘œ์ค€ ๊ธฐ๋ฐ˜ ์ƒํ˜ธ TLS, ์Šค๋งˆํŠธ ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ…, ๋ฉ”ํŠธ๋ฆญ/๋กœ๊ทธ/์ถ”์ ์„ ํ†ตํ•œ ๊ฐ€์‹œ์„ฑ ๋“ฑ ์„œ๋น„์Šค ๋ฉ”์‹œ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ ์ดํ›„๋กœ Istio ํ”„๋กœ์ ํŠธ๋Š” ๋ฉ€ํ‹ฐ ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ๋ฉ€ํ‹ฐ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€, WebAssembly๋ฅผ ํ†ตํ•œ ํ™•์žฅ์„ฑ, Kubernetes Gateway API ๊ฐœ๋ฐœ, ์•ฐ๋น„์–ธํŠธ ๋ชจ๋“œ๋ฅผ ํ†ตํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ์˜ ๋ฉ”์‹œ ์ธํ”„๋ผ ๋ถ„๋ฆฌ ๋“ฑ ๋ฉ”์‹œ ์˜์—ญ์—์„œ์˜ ๋ฐœ์ „์„ ์ฃผ๋„ํ•ด ์™”์Šต๋‹ˆ๋‹ค.๋‹ค์Œ์€ Istio๋ฅผ ์„œ๋น„์Šค ๋ฉ”์‹œ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ๊ฐ•๋ ฅํ•จ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๋Š” ์ˆ˜๋ฐฑ ๊ฐ€์ง€ ๊ธฐ๋Šฅ๊ณผ ์ˆ˜์‹ญ ๊ฐœ์˜ API๊ฐ€ ์žˆ์ง€๋งŒ, ๋‹จ ํ•˜๋‚˜์˜ ๋ช…๋ น์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Istio๋„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ ์ง„์  ๊ณต๊ฐœ(Progressive disclosure) ๋ฐฉ์‹์„ ํ†ตํ•ด ์ž‘์€ API ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ผค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ "๋‹จ์ˆœํ•œ" ์„œ๋น„์Šค ๋ฉ”์‹œ๋“ค์€ Istio๊ฐ€ ์ฒซ๋‚ ๋ถ€ํ„ฐ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๊ธฐ๋Šฅ ์„ธํŠธ๋ฅผ ๋”ฐ๋ผ์žก๋Š” ๋ฐ ์ˆ˜๋…„์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.๊ธฐ๋Šฅ์ด ์žˆ์–ด๋„ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ด, ํ•„์š”ํ•  ๋•Œ ์—†๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค!

Envoy ํ”„๋ก์‹œ

Istio๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ Lyft์—์„œ ์ดˆ๊ธฐ์— ๊ตฌ์ถ•ํ•œ ๊ณ ์„ฑ๋Šฅ ์„œ๋น„์Šค ํ”„๋ก์‹œ์ธ Envoy ํ”„๋ก์‹œ๋กœ ๊ตฌ๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Istio๋Š” Envoy๋ฅผ ์ฑ„ํƒํ•œ ์ตœ์ดˆ์˜ ํ”„๋กœ์ ํŠธ์˜€์œผ๋ฉฐ, Istio ํŒ€์€ ์ตœ์ดˆ์˜ ์™ธ๋ถ€ ์ปค๋ฏธํ„ฐ์˜€์Šต๋‹ˆ๋‹ค. Envoy๋Š” Google Cloud๋ฅผ ๊ตฌ๋™ํ•˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฑฐ์˜ ๋ชจ๋“  ๋‹ค๋ฅธ ์„œ๋น„์Šค ๋ฉ”์‹œ ํ”Œ๋žซํผ์˜ ํ”„๋ก์‹œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.Istio๋Š” Istio ํŒ€์— ์˜ํ•ด Envoy์—์„œ ๊ฐœ๋ฐœ๋œ WebAssembly๋ฅผ ์‚ฌ์šฉํ•œ ์„ธ๊ณ„ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ํ™•์žฅ์„ฑ์„ ํฌํ•จํ•˜์—ฌ Envoy์˜ ๋ชจ๋“  ํž˜๊ณผ ์œ ์—ฐ์„ฑ์„ ๊ณ„์Šนํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ

Istio๋Š” ์ง„์ •ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. 2023๋…„์—๋Š” Istio์— 1,000๊ฐœ ์ด์ƒ์˜ ๊ธฐ์—ฌ๋ฅผ ํ•œ 10๊ฐœ ํšŒ์‚ฌ๊ฐ€ ์žˆ์—ˆ์œผ๋ฉฐ, ์–ด๋–ค ํšŒ์‚ฌ๋„ 25%๋ฅผ ๋„˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. (์—ฌ๊ธฐ์—์„œ ์ˆซ์ž๋ฅผ ํ™•์ธํ•˜์„ธ์š”)Istio๋งŒํผ ์—…๊ณ„์˜ ํญ๋„“์€ ์ง€์›์„ ๋ฐ›๋Š” ๋‹ค๋ฅธ ์„œ๋น„์Šค ๋ฉ”์‹œ ํ”„๋กœ์ ํŠธ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํŒจํ‚ค์ง€

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

๊ณ ๋ คํ•œ ๋Œ€์•ˆ๋“ค

์ข‹์€ ์„ค๊ณ„ ๋ฌธ์„œ์—๋Š” ๊ณ ๋ ค๋˜์—ˆ์ง€๋งŒ ๊ถ๊ทน์ ์œผ๋กœ ๊ฑฐ๋ถ€๋œ ๋Œ€์•ˆ์— ๋Œ€ํ•œ ์„น์…˜์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์™œ "eBPF๋ฅผ ์‚ฌ์šฉ"ํ•˜์ง€ ์•Š๋‚˜์š”?

์šฐ๋ฆฌ๋Š” ์ ์ ˆํ•œ ๊ณณ์—์„œ eBPF๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค! Istio๋Š” eBPF๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋“œ์—์„œ ํ”„๋ก์‹œ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•˜๋„๋ก ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” iptables๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์•ฝ๊ฐ„์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๋ชจ๋“  ๊ฒƒ์— eBPF๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„๊นŒ์š”? ์•„๋ฌด๋„ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์‹ค์ œ๋กœ๋Š” ์•„๋ฌด๋„ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.eBPF๋Š” Linux ์ปค๋„ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ปค๋„ ๋™์ž‘์„ ๋ถˆ์•ˆ์ •ํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š๋„๋ก ์ œํ•œ๋œ ๊ณ„์‚ฐ ๋ฒ”์œ„ ๋‚ด์—์„œ ์™„๋ฃŒ๋˜๋Š” ๊ฒƒ์ด ๋ณด์žฅ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹จ์ˆœํ•œ L3 ํŠธ๋ž˜ํ”ฝ ๋ผ์šฐํŒ…์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€์ฐฐ ๊ธฐ๋Šฅ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Envoy์—์„œ ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์žฅ๊ธฐ ์‹คํ–‰ ๋˜๋Š” ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šด์˜ ์ฒด์ œ์—๋Š” ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค! eBPF ์œ ์ง€ ๊ด€๋ฆฌ์ž๋“ค์€ Envoy๋งŒํผ ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋„๋ก ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ด๋ก ํ™”ํ–ˆ์ง€๋งŒ, ์ด๋Š” ๊ณผํ•™ ํ”„๋กœ์ ํŠธ์ผ ๋ฟ ์‹ค์ œ ์„ธ๊ณ„์—์„œ ์‹ค์šฉ์„ฑ์„ ๊ฐ–๊ธฐ๋Š” ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค."eBPF๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค"๊ณ  ์ฃผ์žฅํ•˜๋Š” ๋‹ค๋ฅธ ๋ฉ”์‹œ๋“ค์€ ์‹ค์ œ๋กœ๋Š” ๋…ธ๋“œ๋‹น Envoy ํ”„๋ก์‹œ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋„๊ตฌ๋ฅผ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์™œ ๋…ธ๋“œ๋‹น ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋‚˜์š”?

Envoy๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋ฉ€ํ‹ฐ ํ…Œ๋„ŒํŠธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ, ์šฐ๋ฆฌ๋Š” ์ œ์•ฝ์ด ์—†๋Š” ์—ฌ๋Ÿฌ ํ…Œ๋„ŒํŠธ์˜ L7 ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๋ณต์žกํ•œ ์ฒ˜๋ฆฌ ๊ทœ์น™์„ ๊ณต์œ  ์ธ์Šคํ„ด์Šค์— ํ˜ผํ•ฉํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ฃผ์š”ํ•œ ๋ณด์•ˆ ๋ฐ ์•ˆ์ •์„ฑ ๋ฌธ์ œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Kubernetes๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ํฌ๋“œ๋ฅผ ๋ชจ๋“  ๋…ธ๋“œ์— ์Šค์ผ€์ค„๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋…ธ๋“œ๋Š” ์ ์ ˆํ•œ ํ…Œ๋„Œ์‹œ ๊ฒฝ๊ณ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์˜ˆ์‚ฐ ์ฑ…์ • ๋ฐ ๋น„์šฉ ํ• ๋‹น๋„ ์ฃผ์š” ์ด์Šˆ์ธ๋ฐ, L7 ์ฒ˜๋ฆฌ ๋น„์šฉ์ด L4๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋งŽ์ด ๋“ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.์•ฐ๋น„์–ธํŠธ ๋ชจ๋“œ์—์„œ๋Š” ztunnel ํ”„๋ก์‹œ๋ฅผ Linux ์ปค๋„๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์—„๊ฒฉํ•˜๊ฒŒ L4 ์ฒ˜๋ฆฌ๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ทจ์•ฝ์  ๋…ธ์ถœ ์˜์—ญ์„ ํฌ๊ฒŒ ์ค„์ด๊ณ  ๊ณต์œ  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์šด์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํŠธ๋ž˜ํ”ฝ์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ณ„๋กœ ์ž‘๋™ํ•˜๋Š” Envoy ํ”„๋ก์‹œ๋กœ ์ „๋‹ฌ๋˜์–ด ์–ด๋–ค Envoy ํ”„๋ก์‹œ๋„ ๋ฉ€ํ‹ฐ ํ…Œ๋„ŒํŠธ๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

CNI๊ฐ€ ์žˆ๋Š”๋ฐ ์™œ Istio๊ฐ€ ํ•„์š”ํ•œ๊ฐ€์š”?

์˜ค๋Š˜๋‚  ์ผ๋ถ€ CNI ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ž์ฒด CNI ๊ตฌํ˜„ ์œ„์— ์„œ๋น„์Šค ๋ฉ”์‹œ์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์œผ๋กœ ์ œ๊ณตํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋…ธ๋“œ๋‚˜ ํฌ๋“œ ๊ฐ„ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ž์ฒด ์•”ํ˜ธํ™” ์ฒด๊ณ„, ์›Œํฌ๋กœ๋“œ ID๋ฅผ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ํŠธ๋ž˜ํ”ฝ์„ L7 ํ”„๋ก์‹œ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜์—ฌ ์ผ์ • ์ˆ˜์ค€์˜ ์ „์†ก ๊ณ„์ธต ์ •์ฑ…์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค ๋ฉ”์‹œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์€ ๋น„ํ‘œ์ค€์ด๋ฏ€๋กœ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” CNI ์œ„์—์„œ๋งŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Wireguard ์œ„์— ๊ตฌ์ถ•๋œ ์†”๋ฃจ์…˜์€ FIPS ์ค€์ˆ˜๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ์ด์œ ๋กœ Istio๋Š” ์ œ๋กœ ํŠธ๋Ÿฌ์ŠคํŠธ ํ„ฐ๋„(ztunnel) ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ž…์ฆ๋œ ์—…๊ณ„ ํ‘œ์ค€ ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํˆฌ๋ช…ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ztunnel์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.Istio๋Š” ๋ชจ๋“  ํ™˜๊ฒฝ, ๋ชจ๋“  CNI์—์„œ, ๋˜๋Š” ์‹ฌ์ง€์–ด ์„œ๋กœ ๋‹ค๋ฅธ CNI๋ฅผ ๊ฐ€์ง„ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ๋„ ๊ฐ•๋ ฅํ•œ L7 ์ •์ฑ… ์„ธํŠธ, ํ”Œ๋žซํผ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š” ์›Œํฌ๋กœ๋“œ ID, ์—…๊ณ„์—์„œ ๊ฒ€์ฆ๋œ mTLS ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๊ด€๋˜๊ณ  ๋งค์šฐ ์•ˆ์ „ํ•˜๋ฉฐ ํšจ์œจ์ ์ด๊ณ  ํ‘œ์ค€ ์ค€์ˆ˜ํ•˜๋Š” ์„œ๋น„์Šค ๋ฉ”์‹œ ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ๋ฉ”์‹œ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค

Why choose Istio?Istio
Logo