Kubernetes Service

Định nghĩa

Kubernetes Service là abstraction cung cấp endpoint ổn định và load balancing tới một nhóm pod được chọn bằng label.

Cách hiểu bằng lời của tôi

Pod đến rồi đi, IP pod không ổn định. Service là tên/địa chỉ ổn định để client không cần biết pod nào đang sống. Kubernetes cập nhật backend endpoints khi pod được tạo, chết hoặc thay thế.

Loại service phổ biến

  • ClusterIP: chỉ truy cập nội bộ trong cluster.
  • NodePort: mở port tĩnh trên node.
  • LoadBalancer: nhờ cloud provider tạo load balancer bên ngoài.
  • ExternalName: map service tới DNS name ngoài cluster.

Giới hạn

Default Kubernetes service routing thường chọn backend ở cấp connection. Với HTTP/2/gRPC connection sống lâu, một connection có thể dồn nhiều request vào cùng pod, tạo traffic skew và tail latency. Khi đó cần Kubernetes Load Balancing ở tầng request hoặc client-side.

Liên kết