k8s service三種常用型別服務
阿新 • • 發佈:2021-11-01
1. k8s-service三種常用型別
-
ClusterIP:叢集內部使用
-
NodePort:對外暴露應用(叢集外)
-
LoadBalancer:對外暴露應用,適用公有云
1.1 ClusterIP:叢集內部使用
-
ClusterIP:預設,分配一個穩定的IP地址,即VIP,只能在叢集內部訪問。
-
示例程式碼:
spec: type: ClusterIP ports: - port: 80 protocol: TCP targetPort: 80 selector: app: web
-
示例圖片
1.2 NodePort:對外暴露應用(叢集外)
-
NodePort:在每個節點上啟用一個埠來暴露服務,可以在叢集
- 外部訪問。也會分配一個穩定內部叢集IP地址。
- 訪問地址:<任意NodeIP>:
- 埠範圍:30000-32767
-
示例程式碼:
spec: type: NodePort ports: - port: 80 protocol: TCP targetPort: 80 nodePort: 30001 selector: app: web
-
示例圖片
-
NodePort:
會在每臺Node上監聽埠接收使用者流量,在實際情況下,對使用者暴露的只會有一個IP和埠,那這麼多臺Node該使用哪臺讓使用者訪問呢?
這時就需要前面加一個公網負載均衡器為專案提供統一訪問入口了。 -
示例圖片
1.3 LoadBalancer:對外暴露應用,適用公有云
-
LoadBalancer:
與NodePort類似,在每個節點上啟用一個埠來暴露服務。除此之外,Kubernetes會請求底層雲平臺(例如阿里雲、騰訊雲、AWS等)上的負載均衡器,將每個Node([NodeIP]:[NodePort])作為後端新增進去。
-
示例影象