1. 程式人生 > 其它 >k8s service三種常用型別服務

k8s service三種常用型別服務

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])作為後端新增進去。

  • 示例影象