Kubernetes Tools/Istio

[Istio κ°€μ΄λ“œ ep.1] 1λΆ€ κ°œλ…κ³Ό κΈ°λ³Έ μ„€μ • #1 | μ„œλΉ„μŠ€ λ©”μ‹œλž€? Istioκ°€ ν•„μš”ν•œ 이유

ygtoken 2025. 3. 18. 10:35
728x90

πŸ”Ή κ°œμš”

IstioλŠ” μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό κ΅¬μΆ•ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ κ°•λ ₯ν•œ λ„κ΅¬μž…λ‹ˆλ‹€.
μ„œλΉ„μŠ€ λ©”μ‹œλž€ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ—μ„œ μ„œλΉ„μŠ€ κ°„μ˜ 톡신을 μ•ˆμ „ν•˜κ²Œ κ΄€λ¦¬ν•˜κ³ , λͺ¨λ‹ˆν„°λ§ν•˜λ©°, μ΅œμ ν™”ν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” μ†Œν”„νŠΈμ›¨μ–΄ λ ˆμ΄μ–΄μž…λ‹ˆλ‹€.
이 κΈ€μ—μ„œλŠ” Istioκ°€ μ™œ ν•„μš”ν•œμ§€, 그리고 μ„œλΉ„μŠ€ λ©”μ‹œκ°€ μ™œ μ€‘μš”ν•œμ§€μ— λŒ€ν•΄ μ„€λͺ…ν•˜κ³ , Istio의 기본적인 κ°œλ…μ„ μ†Œκ°œν•©λ‹ˆλ‹€.


πŸ”Ή 1. μ„œλΉ„μŠ€ λ©”μ‹œλž€?

βœ… 1.1 μ„œλΉ„μŠ€ λ©”μ‹œ κ°œλ…

μ„œλΉ„μŠ€ λ©”μ‹œλŠ” λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜ λ‚΄μ—μ„œ μ„œλΉ„μŠ€ κ°„μ˜ 톡신을 κ΄€λ¦¬ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ λ ˆμ΄μ–΄μž…λ‹ˆλ‹€.
μ„œλΉ„μŠ€ κ°„μ˜ 데이터 흐름, λ³΄μ•ˆ, λ‘œκΉ…, λͺ¨λ‹ˆν„°λ§ 등을 μ²˜λ¦¬ν•˜μ—¬, κ°œλ°œμžλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‘œμ§μ—λ§Œ 집쀑할 수 있게 λ„μ™€μ€λ‹ˆλ‹€.
μ„œλΉ„μŠ€ λ©”μ‹œμ˜ μ£Όμš” κΈ°λŠ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  • νŠΈλž˜ν”½ 관리: μ„œλΉ„μŠ€ κ°„μ˜ νŠΈλž˜ν”½μ„ μ œμ–΄ν•˜κ³ , λ‘œλ“œ λ°ΈλŸ°μ‹±, λΌμš°νŒ…, 리트라이, νƒ€μž„μ•„μ›ƒ 등을 μ„€μ •
  • λ³΄μ•ˆ: mTLS(μ„œλΉ„μŠ€ κ°„μ˜ μ•”ν˜Έν™”λœ 톡신)을 μ„€μ •ν•˜μ—¬ μ„œλΉ„μŠ€ κ°„μ˜ λ³΄μ•ˆμ„ κ°•ν™”
  • λͺ¨λ‹ˆν„°λ§: μ„œλΉ„μŠ€μ˜ μƒνƒœλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜κ³ , λΆ„μ‚° 좔적을 톡해 μ„±λŠ₯ 뢄석
  • μ„œλΉ„μŠ€ κ°„ 인증: 인증과 κΆŒν•œ λΆ€μ—¬λ₯Ό 톡해 μ„œλΉ„μŠ€ κ°„μ˜ μ ‘κ·Ό μ œμ–΄λ₯Ό μ„€μ •

μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό μ‚¬μš©ν•˜λ©΄ κ°œλ°œμžκ°€ λ³΅μž‘ν•œ λ„€νŠΈμ›Œν¬ 톡신 문제λ₯Ό μ‹ κ²½ μ“Έ ν•„μš” 없이, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‘œμ§μ—λ§Œ 집쀑할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ„œλΉ„μŠ€ λ©”μ‹œ 핡심 μš”μ†Œ

  • ν”„λ‘μ‹œ: μ„œλΉ„μŠ€ κ°„ νŠΈλž˜ν”½μ„ μ²˜λ¦¬ν•˜λŠ” ν”„λ‘μ‹œκ°€ 각 μ„œλΉ„μŠ€μ— λ°°ν¬λ©λ‹ˆλ‹€.
  • 컨트둀 ν”Œλ ˆμΈ: 전체 λ©”μ‹œμ˜ 정책을 μ •μ˜ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 쀑앙 μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.

βœ… 1.2 Istio의 ν•„μš”μ„±

IstioλŠ” μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό κ΅¬μΆ•ν•˜λŠ” 데 ν•„μš”ν•œ κ°•λ ₯ν•œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ—μ„œλŠ” μˆ˜λ§Žμ€ μ„œλΉ„μŠ€κ°€ μ„œλ‘œ ν†΅μ‹ ν•˜λ―€λ‘œ, νŠΈλž˜ν”½ μ œμ–΄, λ³΄μ•ˆ, λͺ¨λ‹ˆν„°λ§μ„ 효율적으둜 κ΄€λ¦¬ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.
ν•˜μ§€λ§Œ μ„œλΉ„μŠ€ κ°„ 톡신이 점점 λ³΅μž‘ν•΄μ§€κ³ , 각 μ„œλΉ„μŠ€κ°€ κ°œλ³„μ μœΌλ‘œ λ³΄μ•ˆ, 둜그, λͺ¨λ‹ˆν„°λ§μ„ μ²˜λ¦¬ν•˜κΈ° μ–΄λ ΅κΈ° λ•Œλ¬Έμ—, Istio와 같은 μ„œλΉ„μŠ€ λ©”μ‹œ μ†”λ£¨μ…˜μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

Istioκ°€ ν•„μš”ν•œ 이유

  1. λ³΅μž‘ν•œ νŠΈλž˜ν”½ 관리: μ—¬λŸ¬ μ„œλΉ„μŠ€κ°€ μ„œλ‘œ 톡신할 λ•Œ νŠΈλž˜ν”½ 흐름을 κ΄€λ¦¬ν•˜κ³  μ΅œμ ν™”ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.
  2. λ³΄μ•ˆ: μ„œλΉ„μŠ€ κ°„μ˜ μ•”ν˜Έν™”λœ 톡신과 인증/κΆŒν•œ λΆ€μ—¬λ₯Ό μ²˜λ¦¬ν•˜μ—¬ λ³΄μ•ˆμ„±μ„ κ°•ν™”ν•©λ‹ˆλ‹€.
  3. 운영 νŽΈμ˜μ„±: λΆ„μ‚° νŠΈλ ˆμ΄μ‹±, λ‘œκΉ…, λͺ¨λ‹ˆν„°λ§μ„ 톡해 μ„œλΉ„μŠ€ λ©”μ‹œμ˜ μƒνƒœλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ νŒŒμ•…ν•˜κ³  문제 해결을 λ•μŠ΅λ‹ˆλ‹€.

πŸ”Ή 2. Istio κ°œμš”

βœ… 2.1 Istioλž€?

IstioλŠ” μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ μ˜€ν”ˆ μ†ŒμŠ€ ν”Œλž«νΌμž…λ‹ˆλ‹€.
IstioλŠ” ν”„λ‘μ‹œ(Envoy)λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€ κ°„ 톡신을 μ œμ–΄ν•˜κ³ , νŠΈλž˜ν”½ 흐름을 μ΅œμ ν™”ν•˜λ©°, λ³΄μ•ˆ, λͺ¨λ‹ˆν„°λ§ λ“±μ˜ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.
IstioλŠ” 컨트둀 ν”Œλ ˆμΈκ³Ό 데이터 ν”Œλ ˆμΈμœΌλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.

Istio의 ꡬ성 μš”μ†Œ

  • 컨트둀 ν”Œλ ˆμΈ: 전체 μ„œλΉ„μŠ€ λ©”μ‹œμ˜ 정책을 μ •μ˜ν•˜κ³  κ΄€λ¦¬ν•©λ‹ˆλ‹€. μ£Όμš” ꡬ성 μš”μ†Œλ‘œλŠ” Pilot, Citadel, Galleyκ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • 데이터 ν”Œλ ˆμΈ: μ„œλΉ„μŠ€ κ°„μ˜ νŠΈλž˜ν”½ 흐름을 μ²˜λ¦¬ν•˜λŠ” Envoy Proxy둜 κ΅¬μ„±λ©λ‹ˆλ‹€.

βœ… 2.2 Istio의 μ£Όμš” κΈ°λŠ₯

IstioλŠ” λ‹€μ–‘ν•œ κ³ κΈ‰ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. μ£Όμš” κΈ°λŠ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. νŠΈλž˜ν”½ 관리: VirtualService, DestinationRule 등을 μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€ κ°„ νŠΈλž˜ν”½ 흐름을 μ„Έλ°€ν•˜κ²Œ μ œμ–΄ν•©λ‹ˆλ‹€.
  2. λ³΄μ•ˆ: mTLSλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€ κ°„ μ•”ν˜Έν™”λœ 톡신을 μ œκ³΅ν•˜κ³ , JWT 인증을 톡해 μ„œλΉ„μŠ€ μ ‘κ·Ό μ œμ–΄λ₯Ό κ°•ν™”ν•©λ‹ˆλ‹€.
  3. λͺ¨λ‹ˆν„°λ§: Prometheus, Grafana, Jaeger와 μ—°λ™ν•˜μ—¬ μ„œλΉ„μŠ€ μ„±λŠ₯을 λͺ¨λ‹ˆν„°λ§ν•˜κ³  λΆ„μ‚° 좔적을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  4. μ„œλΉ„μŠ€ κ°„ 인증: RBAC(Role-Based Access Control)을 μ‚¬μš©ν•˜μ—¬ μ„œλΉ„μŠ€ κ°„μ˜ κΆŒν•œ 관리λ₯Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ”Ή 3. μ„œλΉ„μŠ€ λ©”μ‹œμ˜ μ£Όμš” 이점

βœ… 3.1 νŠΈλž˜ν”½ μ œμ–΄

μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό μ‚¬μš©ν•˜λ©΄ μ„œλΉ„μŠ€ κ°„μ˜ νŠΈλž˜ν”½ 흐름을 μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
IstioλŠ” λ‘œλ“œ λ°ΈλŸ°μ‹±, 리트라이, νƒ€μž„μ•„μ›ƒ, μ„œν‚· 브레이컀 등을 μ œκ³΅ν•˜μ—¬ μ„œλΉ„μŠ€ μ•ˆμ •μ„±μ„ λ†’μž…λ‹ˆλ‹€.

βœ… 3.2 λ³΄μ•ˆ κ°•ν™”

mTLS와 같은 μ•”ν˜Έν™”λœ 톡신을 μ‚¬μš©ν•˜μ—¬, μ„œλΉ„μŠ€ κ°„μ˜ λ³΄μ•ˆμ„ κ°•ν™”ν•©λ‹ˆλ‹€.
μ„œλΉ„μŠ€ κ°„ 인증과 κΆŒν•œ 뢀여도 κ°€λŠ₯ν•©λ‹ˆλ‹€.

βœ… 3.3 λͺ¨λ‹ˆν„°λ§ 및 λΆ„μ‚° 좔적

IstioλŠ” Prometheus, Grafana, Jaeger와 ν†΅ν•©ν•˜μ—¬ μ„œλΉ„μŠ€μ˜ μ„±λŠ₯을 λͺ¨λ‹ˆν„°λ§ν•˜κ³ , λΆ„μ‚° 좔적을 톡해 μ„œλΉ„μŠ€ κ°„μ˜ μš”μ²­ 흐름을 뢄석할 수 μžˆμŠ΅λ‹ˆλ‹€.

βœ… 3.4 운영 νŽΈμ˜μ„±

IstioλŠ” λ³΅μž‘ν•œ λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½μ„ κ΄€λ¦¬ν•˜κ³ , μžλ™ν™”λœ λ¦¬μ†ŒμŠ€ 관리λ₯Ό 톡해 μ„œλΉ„μŠ€ λ©”μ‹œμ˜ 운영 νš¨μœ¨μ„±μ„ λ†’μž…λ‹ˆλ‹€.


πŸ“Œ κ²°λ‘ 

  • μ„œλΉ„μŠ€ λ©”μ‹œλŠ” λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ—μ„œ μ„œλΉ„μŠ€ κ°„ 톡신을 효율적으둜 κ΄€λ¦¬ν•˜λŠ” ν•„μˆ˜μ μΈ κΈ°μˆ μž…λ‹ˆλ‹€.
  • IstioλŠ” μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό κ΄€λ¦¬ν•˜λŠ” κ°•λ ₯ν•œ λ„κ΅¬λ‘œ, νŠΈλž˜ν”½ 관리, λ³΄μ•ˆ, λͺ¨λ‹ˆν„°λ§ 등을 μ œκ³΅ν•˜μ—¬ μ„œλΉ„μŠ€μ˜ μ•ˆμ •μ„±κ³Ό 운영 νš¨μœ¨μ„±μ„ λ†’μ—¬μ€λ‹ˆλ‹€.
  • Istioλ₯Ό 톡해 μ„œλΉ„μŠ€ λ©”μ‹œλ₯Ό κ΅¬μΆ•ν•˜κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‘œμ§μ— 집쀑할 수 있게 λ©λ‹ˆλ‹€.
728x90