1 - Tôi đang đọc tài liệu và tôi hơi nhầm lẫn với từ ngữ. Nó nói:Sự khác biệt giữa các loại dịch vụ ClusterIP, NodePort và LoadBalancer trong Kubernetes là gì?
ClusterIP: Phơi bày dịch vụ trên IP nội bộ cụm. Chọn giá trị này làm cho dịch vụ chỉ có thể truy cập từ bên trong cụm. Đây là ServiceType mặc định
NodePort: Hiển thị dịch vụ trên từng IP của nút tại một cổng tĩnh (NodePort). Một dịch vụ ClusterIP, mà dịch vụ NodePort sẽ định tuyến, được tạo tự động. Bạn sẽ có thể liên hệ với dịch vụ NodePort, từ bên ngoài cụm, bằng cách yêu cầu
<NodeIP>:<NodePort>
.LoadBalancer: Đưa dịch vụ ra bên ngoài bằng bộ cân bằng tải của nhà cung cấp dịch vụ đám mây. Các dịch vụ NodePort và ClusterIP, mà bộ cân bằng tải bên ngoài sẽ định tuyến, được tạo tự động.
Loại dịch vụ NodePort vẫn sử dụng ClusterIP
nhưng chỉ ở một cổng khác, mở cho khách hàng bên ngoài? Vì vậy, trong trường hợp này là <NodeIP>:<NodePort>
giống như <ClusterIP>:<NodePort>
?
Hoặc là NodeIP
thực sự là IP được tìm thấy khi bạn chạy kubectl get nodes
chứ không phải IP ảo được sử dụng cho loại dịch vụ ClusterIP?
2 - Cũng trong sơ đồ từ liên kết dưới đây:
http://kubernetes.io/images/docs/services-iptables-overview.svg
Có bất kỳ lý do cụ thể tại sao Client
là bên trong Node
? Tôi cho rằng nó sẽ cần phải được bên trong một Cluster
trong trường hợp của một loại dịch vụ ClusterIP.
Nếu cùng một sơ đồ được vẽ cho NodePort, nó sẽ hợp lệ để vẽ khách hàng hoàn toàn bên ngoài cả hai Node
và Cluster
hoặc tôi hoàn toàn mất điểm?
Ông có thể bình luận về sao 'externalIPs' thay đổi phương trình ở đây? Cụ thể, có thể gán mảng 'externalIPs' cho một dịch vụ kiểu' ClusterIP', và sau đó dịch vụ có thể truy cập được trên IP bên ngoài? Khi nào bạn chọn điều này trên một NodePort? – Bosh
Câu hỏi không đề cập đến externalIPs - Tôi nghĩ bạn có thể sẽ được phục vụ tốt nhất bằng cách đăng câu hỏi này dưới dạng câu hỏi mới. – kellanburket
Bài đăng này thực sự hữu ích hơn khi làm rõ những khác biệt này so với tài liệu chính thức của Kubernetes. – adrpino