Blog chia sẻ về công nghệ ...
Published on

Istio - Tìm hiểu về service mesh mã nguồn mở

Authors

🔐 Istio - Tìm hiểu về service mesh mã nguồn mở

so-sanh-nginx-ingress-vs-istio-ingress-gateway

📑 Mục Lục

  1. Istio là gì
  2. Cách hoạt động

💡 Istio là gì?

Istio là một service mesh mã nguồn mở hoạt động như một lớp trung gian trong hệ thống phân tán. Nó cung cấp một cách thức thống nhất và hiệu quả để:

  • 🔐 Bảo mật: Giao tiếp giữa các dịch vụ được mã hóa bằng mutual TLS, xác thực và phân quyền dựa trên danh tính.
  • 🔄 Kết nối: Cân bằng tải tự động cho HTTP, gRPC, WebSocket và TCP.
  • 🎯 Điều hướng lưu lượng: Hỗ trợ routing linh hoạt, retry, failover, và fault injection.
  • 🧰 Chính sách linh hoạt: Kiểm soát truy cập, giới hạn tốc độ và quota.
  • 📊 Giám sát: Tự động thu thập metrics, logs và traces cho toàn bộ lưu lượng.

Istio được thiết kế để mở rộng linh hoạt, hỗ trợ Kubernetes và các môi trường bên ngoài như VM.

⚙️ Cách hoạt động

Istio sử dụng một proxy (Envoy) để chặn tất cả lưu lượng mạng giữa các dịch vụ, giúp áp dụng các tính năng dựa trên cấu hình người dùng.

  • Control Plane: Tiếp nhận cấu hình, cập nhật proxy theo thay đổi.
  • Data Plane: Quản lý giao tiếp giữa các dịch vụ.

Có hai chế độ hoạt động:

  • Sidecar mode: Mỗi Pod có một Envoy proxy đi kèm.
  • Ambient mode: Dùng proxy tầng 4 theo node và tùy chọn proxy Envoy tầng 7 theo namespace.

Istio có hệ sinh thái lớn, nhiều tích hợp và hỗ trợ bởi các nhà cung cấp dịch vụ khác nhau.