1. 程式人生 > >K8S解決外網鏈接問題

K8S解決外網鏈接問題

k8s外部訪問服務

目前阿裏雲已經禁止了K8S ingress對於負載均衡器的請求. 如按照網上某攻略依據AccessID+AccessKey的方式請求創建負載均衡服務將被返回"禁止外部請求"的字樣.
目前k8s解決外部訪問服務地址的方法主要分為兩大方式:

  1. 請求雲供應商的負載均衡借口
  2. 使用Nodeport分派外部到node上的具體端口上.

對於手工創建的k8s體系建議以以下方式創建外部ip用於內部的容器訪問:
1.創建一個項目的svc, 由系統分派一個NodePort,
2.創建一個阿裏雲的負載均衡, 將該負載均衡指向到多臺Node上的被指派的NodePort.
3.創建RC, 由RC在隨機選擇的Node上開創容器並實現外部到內部的通訊.

這裏需要註意的是: 由於無法確定具體在哪一個Node上創建容器, 所以應該將所有Node的該項目Node端口都添加到負載均衡服務裏.

同時, 由SVC創建的群集ip僅供K8s和Node內部通訊使用, 無法用作局域網連接或者請求.此群集ip不對ping telnet等任何應用做出響應, 所以也是無法作為錯誤判斷的依據的.

如果不創建負載均衡服務, 則只能做到域名到其中一個Node上的Nodeport的指派,這樣存在安全風險,並且基於域名的輪詢也不好被管控與管理.

K8S解決外網鏈接問題