共計 965 個字符,預計需要花費 3 分鐘才能閱讀完成。
本篇文章為大家展示了外網如何訪問 Service,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
除了 Cluster 內部可以訪問 Service,很多情況我們也希望應用的 Service 能夠暴露給 Cluster 外部。Kubernetes 提供了多種類型的 Service,默認是 ClusterIP。
ClusterIP
Service 通過 Cluster 內部的 IP 對外提供服務,只有 Cluster 內的節點和 Pod 可訪問,這是默認的 Service 類型,前面實驗中的 Service 都是 ClusterIP。
NodePort
Service 通過 Cluster 節點的靜態端口對外提供服務。Cluster 外部可以通過 NodeIP : NodePort 訪問 Service。
LoadBalancer
Service 利用 cloud provider 特有的 load balancer 對外提供服務,cloud provider 負責將 load balancer 的流量導向 Service。目前支持的 cloud provider 有 GCP、AWS、Azur 等。
下面我們來實踐 NodePort,Service httpd-svc 的配置文件修改如下:
添加 type: NodePort,重新創建 httpd-svc。
下面測試 NodePort 是否正常工作。
規則的含義是:訪問當前節點 32312 端口的請求會應用規則 KUBE-SVC-RL3JAE4GN7VOGDGP,內容為:
現在配置文件中就有三個 Port 了:
nodePort 是節點上監聽的端口。
port 是 ClusterIP 上監聽的端口。
targetPort 是 Pod 監聽的端口。
最終,Node 和 ClusterIP 在各自端口上接收到的請求都會通過 iptables 轉發到 Pod 的 targetPort。
應用新的 nodePort 并驗證:
nodePort: 30000 已經生效了。
我們討論訪問應用的機制 Service,學習了如何創建 Service;Service 的三種類型 ClusterIP、NodePort 和 LoadBalancer,以及它們各自的適用場景。
上述內容就是外網如何訪問 Service,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注丸趣 TV 行業資訊頻道。