溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kubernetes 暴露服務端口的幾種方式

發布時間:2020-06-24 18:05:15 來源:網絡 閱讀:1634 作者:無鋒劍 欄目:云計算

kubernetes 暴露服務端口的幾種方式

如果希望將 Service 暴露在一個外部IP地址上。 Kubernetes 支持4種實現方式,詳細如下:

1:集群內部實現訪問:Clusterip

Clusterip是集群內部的私有ip,在集群內部訪問服務非常方便,也是kuberentes集群默認的方式,直接通過service的Clusterip訪問,也可以直接通過ServiceName訪問。集群外部則是無法訪問的。

2:集群外部方式訪問:NodePort

NodePort在kubenretes里是一個早期廣泛應用的服務暴露方式。Kubernetes中的service默認情況下都是使用的ClusterIP這種類型,這樣的service會產生一個ClusterIP,這個IP只能在集群內部訪問,要想讓外部能夠直接訪問service,需要將service type修改為 nodePort。將service監聽端口映射到node節點。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-dm
spec:
  replicas: 2
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:alpine
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30004
      protocol: TCP
  selector:
    name: nginx

創建

kubectl create -f nginx-ds.yaml

訪問測試

在集群之外,可以通過任何一個node節點的 ip:nodeport 都可以訪問集群中服務

3:LoadBalancer

LoadBlancer Service 是 kubernetes 深度結合云平臺的一個組件;當使用 LoadBlancer Service 暴露服務時,實際上是通過向底層云平臺申請創建一個負載均衡器來向外暴露服務;目前 LoadBlancer Service 支持的云平臺已經相對完善,比如國外的 GCE、DigitalOcean,國內的 阿里云,私有云 Openstack 等等,由于 LoadBlancer Service 深度結合了云平臺,所以只能在一些云平臺上來使用.

4:Ingress

Ingress是自kubernetes1.1版本后引入的資源類型。必須要部署Ingress controller才能創建Ingress資源,Ingress controller是以一種插件的形式提供。

Ingress 使用比較廣泛的有:nginx 和 traefik,個人推薦使用traefik。

Traefik 配置使用方法:

https://blog.51cto.com/michaelkang/2429929

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女