2015-12-23 16 views
12

Tôi mới bắt đầu với Kubernetes và tôi đã nhầm lẫn về sự khác biệt giữa loại dịch vụ NodePort và LoadBalancer.Kubernetes: Sự khác biệt giữa NodePort và LoadBalancer

Sự khác biệt mà tôi hiểu là LoadBalancer không hỗ trợ UDP nhưng ngoài ra, khi chúng tôi tạo một dịch vụ hoặc nodeport hoặc loadbalancer, chúng tôi nhận được dịch vụ IP và cổng, NodePort và thiết bị đầu cuối.

Từ docs Kubernetes:

NodePort: trên đỉnh có một IP cụm nội bộ, tiếp xúc với các dịch vụ trên một cổng trên mỗi nút của cluster (cùng một cổng trên mỗi nút). Bạn sẽ có thể liên hệ với dịch vụ theo số Nút mã: NodePort địa chỉ.

loadbalancer: trên đỉnh có một IP cụm nội bộ và lộ dịch vụ trên một NodePort cũng, hãy yêu cầu nhà cung cấp điện toán đám mây cho một tải cân bằng đó chuyển tiếp đến các dịch vụ tiếp xúc như một NodeIP : NodePort cho mỗi Nút.

Vì vậy, tôi sẽ luôn truy cập dịch vụ trên nodeip: nodeport. Sự hiểu biết của tôi là, bất cứ khi nào chúng tôi truy cập nút: nodeport, kubeproxy sẽ chặn yêu cầu và chuyển tiếp nó tới nhóm tương ứng.

Điều khác được đề cập về LoadBalancer là chúng ta có thể có LB bên ngoài sẽ LB giữa các nút. Điều gì ngăn cản chúng ta đặt LB cho các dịch vụ được tạo ra như nodeport?

Tôi thực sự bối rối. Hầu hết các tài liệu hoặc hướng dẫn chỉ nói về dịch vụ LoadBalancer vì vậy tôi không thể tìm thấy nhiều trên internet.

Đánh giá cao nếu ai đó có thể xóa những nghi ngờ của tôi.

Cảm ơn

+0

Nó có ý nghĩa trực quan, nhưng bạn có biết tài liệu nói rằng 'LoadBalancer' không hỗ trợ UDP không? – Drux

Trả lời

6

Không có gì ngăn bạn đặt bộ cân bằng tải ngoài ở phía trước các nút và sử dụng tùy chọn NodePort.

Tùy chọn LoadBalancer chỉ được sử dụng để yêu cầu thêm nhà cung cấp đám mây của bạn cho một phiên bản LB phần mềm mới, tự động ở chế độ nền.

Tôi chưa cập nhật nhà cung cấp đám mây nào được hỗ trợ, nhưng tôi đã thấy nó hoạt động cho Compute Engine và OpenStack rồi.

+1

Cảm ơn nhận xét. Tôi không hiểu phần 'tự động'. Bất kỳ hướng dẫn nào tôi đã đọc hoặc xem, trong mỗi IP nút được đưa vào tham số IP công khai dịch vụ và sau đó được cấu hình vào LB cũ. Nginx, mọi người đều chứng tỏ điều đó. – Jardanian

+1

Nhiều nhà cung cấp dịch vụ đám mây có khả năng phần mềm LB lưu lượng truy cập của bạn đã ở cấp độ mạng của họ đối với các nút của bạn. Tính năng này có thể được kích hoạt tự động thông qua Kubernetes bằng cách thiết lập kiểu dịch vụ của bạn thành LoadBalancer. Ví dụ: • Google: cloud.google.com/compute/docs/load-balancing • Amazon: aws.amazon.com/de/elasticloadbalancing • OpenStack: wiki.openstack.org/wiki/Neutron/LBaaS – Zahlex

+0

https: // nhóm .google.com/forum/#!topic/kubernetes-sig-network/B-A_RuqpFWk có thể giúp làm rõ các thiết lập cân bằng tải khác nhau –

Các vấn đề liên quan