๐Ÿ’ป
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๋ž€ ๋ฌด์—‡์ธ๊ฐ€?
  • ์ž‘๋™ ๋ฐฉ์‹
Edit on GitHub
  1. etc
  2. deep dive
  3. Istio ๊ณต์‹๋ฌธ์„œ ๋ฒˆ์—ญ
  4. Overview

What is Istio?

PreviousOverviewNextWhy choose Istio?

Last updated 10 months ago

Istio๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

  • ์ƒํ˜ธ TLS ์•”ํ˜ธํ™”, ๊ฐ•๋ ฅํ•œ ID ๊ธฐ๋ฐ˜ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ์•ˆ์ „ํ•œ ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹  ๋ณด์žฅ

  • HTTP, gRPC, WebSocket ๋ฐ TCP ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ž๋™ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

  • ํ’๋ถ€ํ•œ ๋ผ์šฐํŒ… ๊ทœ์น™, ์žฌ์‹œ๋„, ์žฅ์•  ์กฐ์น˜ ๋ฐ ๊ฒฐํ•จ ์ฃผ์ž…์„ ํ†ตํ•œ ํŠธ๋ž˜ํ”ฝ ๋™์ž‘์˜ ์„ธ๋ฐ€ํ•œ ์ œ์–ด

  • ์•ก์„ธ์Šค ์ œ์–ด, ์†๋„ ์ œํ•œ ๋ฐ ํ• ๋‹น๋Ÿ‰์„ ์ง€์›ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธํ˜• ์ •์ฑ… ๊ณ„์ธต ๋ฐ ๊ตฌ์„ฑ API

  • ํด๋Ÿฌ์Šคํ„ฐ ์ง„์ž… ๋ฐ ์ง„์ถœ์„ ํฌํ•จํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ž๋™ ๋ฉ”ํŠธ๋ฆญ, ๋กœ๊ทธ ๋ฐ ์ถ”์ 

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

์ž‘๋™ ๋ฐฉ์‹

Istio๋Š” ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ€๋กœ์ฑ„๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ๊ตฌ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์‹ ๊ธฐ๋Šฅ์„ ํญ๋„“๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์›ํ•˜๋Š” ๊ตฌ์„ฑ๊ณผ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ทฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๋™์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ณ , ๊ทœ์น™์ด๋‚˜ ํ™˜๊ฒฝ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ์€ ์„œ๋น„์Šค ๊ฐ„์˜ ํ†ต์‹ ์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋ฉ”์‹œ๊ฐ€ ์—†์œผ๋ฉด ๋„คํŠธ์›Œํฌ๋Š” ์ „์†ก๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ํŠธ๋ž˜ํ”ฝ ์œ ํ˜•์ด๋‚˜ ์ถœ๋ฐœ์ง€ ๋˜๋Š” ๋ชฉ์ ์ง€์— ๋”ฐ๋ผ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.Istio๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:์‚ฌ์ด๋“œ์นด ๋ชจ๋“œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ pod์™€ ํ•จ๊ป˜ Envoy ํ”„๋ก์‹œ๋ฅผ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ VM์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋น„์Šค์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•ฐ๋น„์–ธํŠธ ๋ชจ๋“œ๋Š” ๋…ธ๋“œ๋‹น Layer 4 ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์„ ํƒ์ ์œผ๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋‹น Envoy ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Layer 7 ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

What is Istio?Istio
Logo