πΉ κ°μ
Istioλ μλΉμ€ λ©μλ₯Ό ꡬμΆνκ³ κ΄λ¦¬νκΈ° μν κ°λ ₯ν λꡬμ
λλ€.
μλΉμ€ λ©μλ λ§μ΄ν¬λ‘μλΉμ€ μν€ν
μ²μμ μλΉμ€ κ°μ ν΅μ μ μμ νκ² κ΄λ¦¬νκ³ , λͺ¨λν°λ§νλ©°, μ΅μ νν μ μλλ‘ λμμ£Όλ μννΈμ¨μ΄ λ μ΄μ΄μ
λλ€.
μ΄ κΈμμλ Istioκ° μ νμνμ§, κ·Έλ¦¬κ³ μλΉμ€ λ©μκ° μ μ€μνμ§μ λν΄ μ€λͺ
νκ³ , Istioμ κΈ°λ³Έμ μΈ κ°λ
μ μκ°ν©λλ€.
πΉ 1. μλΉμ€ λ©μλ?
β 1.1 μλΉμ€ λ©μ κ°λ
μλΉμ€ λ©μλ λ§μ΄ν¬λ‘μλΉμ€ μν€ν
μ² λ΄μμ μλΉμ€ κ°μ ν΅μ μ κ΄λ¦¬νλ μννΈμ¨μ΄ λ μ΄μ΄μ
λλ€.
μλΉμ€ κ°μ λ°μ΄ν° νλ¦, 보μ, λ‘κΉ
, λͺ¨λν°λ§ λ±μ μ²λ¦¬νμ¬, κ°λ°μλ μ ν리μΌμ΄μ
λ‘μ§μλ§ μ§μ€ν μ μκ² λμμ€λλ€.
μλΉμ€ λ©μμ μ£Όμ κΈ°λ₯μ λ€μκ³Ό κ°μ΅λλ€:
- νΈλν½ κ΄λ¦¬: μλΉμ€ κ°μ νΈλν½μ μ μ΄νκ³ , λ‘λ λ°Έλ°μ±, λΌμ°ν , 리νΈλΌμ΄, νμμμ λ±μ μ€μ
- 보μ: mTLS(μλΉμ€ κ°μ μνΈνλ ν΅μ )μ μ€μ νμ¬ μλΉμ€ κ°μ 보μμ κ°ν
- λͺ¨λν°λ§: μλΉμ€μ μνλ₯Ό μ€μκ°μΌλ‘ λͺ¨λν°λ§νκ³ , λΆμ° μΆμ μ ν΅ν΄ μ±λ₯ λΆμ
- μλΉμ€ κ° μΈμ¦: μΈμ¦κ³Ό κΆν λΆμ¬λ₯Ό ν΅ν΄ μλΉμ€ κ°μ μ κ·Ό μ μ΄λ₯Ό μ€μ
μλΉμ€ λ©μλ₯Ό μ¬μ©νλ©΄ κ°λ°μκ° λ³΅μ‘ν λ€νΈμν¬ ν΅μ λ¬Έμ λ₯Ό μ κ²½ μΈ νμ μμ΄, μ ν리μΌμ΄μ λ‘μ§μλ§ μ§μ€ν μ μμ΅λλ€.
μλΉμ€ λ©μ ν΅μ¬ μμ
- νλ‘μ: μλΉμ€ κ° νΈλν½μ μ²λ¦¬νλ νλ‘μκ° κ° μλΉμ€μ λ°°ν¬λ©λλ€.
- 컨νΈλ‘€ νλ μΈ: μ 체 λ©μμ μ μ± μ μ μνκ³ κ΄λ¦¬νλ μ€μ μμ€ν μ λλ€.
β 1.2 Istioμ νμμ±
Istioλ μλΉμ€ λ©μλ₯Ό ꡬμΆνλ λ° νμν κ°λ ₯ν κΈ°λ₯μ μ 곡ν©λλ€.
λ§μ΄ν¬λ‘μλΉμ€ μν€ν
μ²μμλ μλ§μ μλΉμ€κ° μλ‘ ν΅μ νλ―λ‘, νΈλν½ μ μ΄, 보μ, λͺ¨λν°λ§μ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ κ²μ΄ μ€μν©λλ€.
νμ§λ§ μλΉμ€ κ° ν΅μ μ΄ μ μ 볡μ‘ν΄μ§κ³ , κ° μλΉμ€κ° κ°λ³μ μΌλ‘ 보μ, λ‘κ·Έ, λͺ¨λν°λ§μ μ²λ¦¬νκΈ° μ΄λ ΅κΈ° λλ¬Έμ, Istioμ κ°μ μλΉμ€ λ©μ μ루μ
μ΄ νμν©λλ€.
Istioκ° νμν μ΄μ
- 볡μ‘ν νΈλν½ κ΄λ¦¬: μ¬λ¬ μλΉμ€κ° μλ‘ ν΅μ ν λ νΈλν½ νλ¦μ κ΄λ¦¬νκ³ μ΅μ ννλ κ²μ΄ μ€μν©λλ€.
- 보μ: μλΉμ€ κ°μ μνΈνλ ν΅μ κ³Ό μΈμ¦/κΆν λΆμ¬λ₯Ό μ²λ¦¬νμ¬ λ³΄μμ±μ κ°νν©λλ€.
- μ΄μ νΈμμ±: λΆμ° νΈλ μ΄μ±, λ‘κΉ , λͺ¨λν°λ§μ ν΅ν΄ μλΉμ€ λ©μμ μνλ₯Ό μ€μκ°μΌλ‘ νμ νκ³ λ¬Έμ ν΄κ²°μ λμ΅λλ€.
πΉ 2. Istio κ°μ
β 2.1 Istioλ?
Istioλ μλΉμ€ λ©μλ₯Ό κ΄λ¦¬νκΈ° μν μ€ν μμ€ νλ«νΌμ
λλ€.
Istioλ νλ‘μ(Envoy)λ₯Ό μ¬μ©νμ¬ μλΉμ€ κ° ν΅μ μ μ μ΄νκ³ , νΈλν½ νλ¦μ μ΅μ ννλ©°, 보μ, λͺ¨λν°λ§ λ±μ κΈ°λ₯μ μ 곡ν©λλ€.
Istioλ 컨νΈλ‘€ νλ μΈκ³Ό λ°μ΄ν° νλ μΈμΌλ‘ ꡬμ±λ©λλ€.
Istioμ κ΅¬μ± μμ
- 컨νΈλ‘€ νλ μΈ: μ 체 μλΉμ€ λ©μμ μ μ± μ μ μνκ³ κ΄λ¦¬ν©λλ€. μ£Όμ κ΅¬μ± μμλ‘λ Pilot, Citadel, Galleyκ° μμ΅λλ€.
- λ°μ΄ν° νλ μΈ: μλΉμ€ κ°μ νΈλν½ νλ¦μ μ²λ¦¬νλ Envoy Proxyλ‘ κ΅¬μ±λ©λλ€.
β 2.2 Istioμ μ£Όμ κΈ°λ₯
Istioλ λ€μν κ³ κΈ κΈ°λ₯μ μ 곡ν©λλ€. μ£Όμ κΈ°λ₯μ λ€μκ³Ό κ°μ΅λλ€:
- νΈλν½ κ΄λ¦¬: VirtualService, DestinationRule λ±μ μ¬μ©νμ¬ μλΉμ€ κ° νΈλν½ νλ¦μ μΈλ°νκ² μ μ΄ν©λλ€.
- 보μ: mTLSλ₯Ό μ¬μ©νμ¬ μλΉμ€ κ° μνΈνλ ν΅μ μ μ 곡νκ³ , JWT μΈμ¦μ ν΅ν΄ μλΉμ€ μ κ·Ό μ μ΄λ₯Ό κ°νν©λλ€.
- λͺ¨λν°λ§: Prometheus, Grafana, Jaegerμ μ°λνμ¬ μλΉμ€ μ±λ₯μ λͺ¨λν°λ§νκ³ λΆμ° μΆμ μ ν μ μμ΅λλ€.
- μλΉμ€ κ° μΈμ¦: RBAC(Role-Based Access Control)μ μ¬μ©νμ¬ μλΉμ€ κ°μ κΆν κ΄λ¦¬λ₯Ό ν μ μμ΅λλ€.
πΉ 3. μλΉμ€ λ©μμ μ£Όμ μ΄μ
β 3.1 νΈλν½ μ μ΄
μλΉμ€ λ©μλ₯Ό μ¬μ©νλ©΄ μλΉμ€ κ°μ νΈλν½ νλ¦μ μ μ΄ν μ μμ΅λλ€.
Istioλ λ‘λ λ°Έλ°μ±, 리νΈλΌμ΄, νμμμ, μν· λΈλ μ΄μ»€ λ±μ μ 곡νμ¬ μλΉμ€ μμ μ±μ λμ
λλ€.
β 3.2 보μ κ°ν
mTLSμ κ°μ μνΈνλ ν΅μ μ μ¬μ©νμ¬, μλΉμ€ κ°μ 보μμ κ°νν©λλ€.
μλΉμ€ κ° μΈμ¦κ³Ό κΆν λΆμ¬λ κ°λ₯ν©λλ€.
β 3.3 λͺ¨λν°λ§ λ° λΆμ° μΆμ
Istioλ Prometheus, Grafana, Jaegerμ ν΅ν©νμ¬ μλΉμ€μ μ±λ₯μ λͺ¨λν°λ§νκ³ , λΆμ° μΆμ μ ν΅ν΄ μλΉμ€ κ°μ μμ² νλ¦μ λΆμν μ μμ΅λλ€.
β 3.4 μ΄μ νΈμμ±
Istioλ 볡μ‘ν λ€νΈμν¬ νΈλν½μ κ΄λ¦¬νκ³ , μλνλ 리μμ€ κ΄λ¦¬λ₯Ό ν΅ν΄ μλΉμ€ λ©μμ μ΄μ ν¨μ¨μ±μ λμ λλ€.
π κ²°λ‘
- μλΉμ€ λ©μλ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²μμ μλΉμ€ κ° ν΅μ μ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νλ νμμ μΈ κΈ°μ μ λλ€.
- Istioλ μλΉμ€ λ©μλ₯Ό κ΄λ¦¬νλ κ°λ ₯ν λꡬλ‘, νΈλν½ κ΄λ¦¬, 보μ, λͺ¨λν°λ§ λ±μ μ 곡νμ¬ μλΉμ€μ μμ μ±κ³Ό μ΄μ ν¨μ¨μ±μ λμ¬μ€λλ€.
- Istioλ₯Ό ν΅ν΄ μλΉμ€ λ©μλ₯Ό ꡬμΆνκ³ , μ ν리μΌμ΄μ λ‘μ§μ μ§μ€ν μ μκ² λ©λλ€.