Tôi là người mới sử dụng Kubernetes và bị mắc kẹt bởi phần mạng.
Kubernetes tài liệu:
Có một số cách để xuất bản một dịch vụ:
- NodePort, hiển thị Dịch vụ trên IP của mỗi Nút tại một cổng tĩnh (NodePort)
- Cân bằng tải, hiển thị Dịch vụ ra bên ngoài bằng cách sử dụng bộ cân bằng tải của nhà cung cấp đám mây. Các dịch vụ NodePort và ClusterIP, mà bộ cân bằng tải bên ngoài định tuyến tới, được tạo tự động.
Theo hiểu biết của tôi, đối tượng dịch vụ Kubernetes là một lớp trừu tượng hóa logic, được triển khai thông qua Kube Proxy, bảng IP, IPVS, v.v.
Dịch vụ này khác với phiên bản EC2 và Cân bằng tải, vốn tồn tại trên thực tế và có thể truy cập được.
Sau đây biểu đồ cho biết cách thức hoạt động của dịch vụ cân bằng tải nhưng không giải thích cách thức cân bằng tải đàn hồi tiếp cận với dịch vụ Kubernetes.
Câu hỏi 1: Cloud-Native Elastic Load Balancer (ELB) tiếp cận lưu lượng truy cập đến Dịch vụ như thế nào?
Tôi cho rằng Dịch vụ của Cân bằng tải
loại tương tự như Dịch vụ của Nút Cổng
gõ dưới mui xe, Cả hai đều tận dụng lợi thế của NodePort. Sự khác biệt duy nhất là, đối với Dịch vụ của Cân bằng tải
Type, đám mây sẽ giúp chúng ta chăm sóc NodePort và nhóm Target, chúng ta không phải tự mình quản lý thủ công.
Giao thông đường bộ
â
Cân bằng tải
â
Nhóm mục tiêu
â
Cổng nút VM (IP + Cổng)
â
cụm IP của dịch vụ
â
Kube proxy (IPVS)
â
Các nhóm dịch vụ
Giả định của tôi có đúng không?
Câu hỏi 2: Nếu chúng tôi vô hiệu hóa NodePort của VM, ELB định tuyến đến dịch vụ như thế nào?
Trong Kubernetes V1.20.0, Kubernetes cung cấp một tham số mới phân bổLoadBalancerNodePort
và cho phép người dùng tắt NodePort của VM.
KEP-1864: Tùy chọn Vô hiệu hóa Cổng Nút cho Loại Dịch vụ=LoadBalancer
Nếu chúng ta vô hiệu hóa VM NodePort
, ELB tiếp cận với dịch vụ logic như thế nào?
Bạn có thể vui lòng giải thích thêm chi tiết? Tốt hơn là nên bao gồm các tuyến gói TCP/IP, bảng IP, IPVS, v.v.