Istio Hands-on Study [1기]

[9주차] Ambient Mode : 컨트롤 플레인

구구달스 2025. 6. 3. 16:47

🚀 Ambient Mesh와 Istio Control Plane 이해하기

  • Istio의 ambient mesh는 서비스 간 통신을 더 쉽게 관리할 수 있게 해주는 기술입니다. 

🛠️ Ambient와 Control Plane의 관계

  • Ambient mesh는 Istio의 다른 data plane 모드와 마찬가지로 control plane을 사용합니다. Control plane은 모든 설정과 관리를 담당하는 '뇌' 같은 역할을 하며, ambient에서는 각 Kubernetes 노드에 있는 ztunnel proxy와 소통합니다. 이를 통해 트래픽을 안전하고 효율적으로 관리할 수 있습니다.

Control plane은
ztunnel proxy와 소통하며 ambient mesh의 설정과 관리를 담당합니다.


🧩 ztunnel의 구조

  • ztunnel은 ambient mesh의 핵심 컴포넌트로, 노드 내 모든 pod를 대신해 트래픽을 처리합니다. 이 과정에서 ztunnel은 xDS APIs를 사용Istio control plane(istiod)과 연결됩니다.
  • xDS는 빠르고 동적인 설정 업데이트를 가능하게 하며, ztunnel은 각 pod의 Service Account에 맞는 mTLS 인증서를 받아옵니다.
  • ztunnel은 하나의 노드에서 여러 pod를 위한 L4 data plane 기능을 제공하는 멀티-테넌트 구조를 가집니다. 이는 기존 sidecar 모델(각 pod에 개별 proxy가 있는 구조)과 달라 효율성이 높습니다.

ztunnel은 xDS를 통해 설정과 인증서를 관리하며,
멀티-테넌트로 동작합니다.


🔄 ztunnel과 Istiod 간의 동작

  • ztunnel과 istiod 간의 소통은 다음과 같은 단계로 이루어집니다: 
    • 연결 설정: ztunnel이 istiod(포트 15012)에 안전한 연결을 요청하며 xDS 설정을 받습니다.
    • 설정 제공: istiod가 ztunnel에 workload xDS 설정을 전달합니다.
    • 인증서 요청: ztunnel이 CA Client를 통해 특정 pod(예: App A)의 인증서를 요청합니다.
    • 인증서 제공: istiod가 ztunnel이 해당 pod를 대표할 수 있다는 확인 후 인증서를 전달합니다.

📦 ztunnel이 시작되면 무슨 일이 벌어지나요?

🛠️ 초기 설정과 인증서 발급 과정

  1. 보안 연결 요청
    ztunnel은 Istiod에 연결하면서 이렇게 묻습니다:
    👉 “Istiod, 나 연결했어요! 제 설정 좀 받을 수 있을까요?” (포트 15012 사용)
  2. 설정 전달
    Istiod는 ztunnel에게 이렇게 답해줍니다:
    👉 “네, 이게 당신이 관리해야 할 워크로드들의 설정(xDS config)이에요!”
  3. 인증서 요청
    ztunnel은 CA Client를 통해 요청합니다:
    👉 “저 App A 대신 통신할 건데, App A용 인증서 주세요.”
  4. 인증서 발급
    Istiod는 ztunnel을 신뢰할 수 있다고 판단하면:
    👉 “알겠어요. App A 대신 행동할 수 있는 자격이 있으니, 인증서를 드릴게요.”

ztunnel은
istiod와 xDS를 통해 설정과 인증서를 교환하며 동작합니다.


⚡ 성능과 유지보수 개선

  • Ambient 모드에서는 xDS APIs에 더 간소화된 리소스가 사용됩니다. 이는 istiod에서 ztunnel로 전송되는 데이터가 줄어들어 성능이 향상되고, 문제 해결(troubleshooting)이 더 쉬워집니다. 덕분에 대규모 시스템에서도 부하가 줄어듭니다.

간소화된 xDS 리소스로 성능과 유지보수가 개선됩니다.


📌 핵심 요약

  • Ambient mesh는 Istio control plane을 사용하며, ztunnel proxy와 소통합니다.
  • ztunnel은 xDS APIs를 통해 istiod와 연결되어 설정과 mTLS 인증서를 관리합니다.
  • ztunnel은 멀티-테넌트 구조로 sidecar보다 효율적입니다.
  • ztunnel과 istiod는 연결 설정, 설정 제공, 인증서 요청 및 제공 과정을 거칩니다.
  • 간소화된 xDS 리소스로 성능과 문제 해결이 개선됩니다.