1. 程式人生 > >讓外部網絡訪問K8S service的四種方式

讓外部網絡訪問K8S service的四種方式

width 轉發規則 方案 核心 方式 基於 upload 規則 clas

本文基於kubernetes 1.5.2版本編寫

kube-proxy+ClusterIP

kubernetes版本大於或者等於1.2時,配置:

修改master的/etc/kubernetes/proxy,把KUBE_PROXY_ARGS=”“改為KUBE_PROXY_ARGS=”–proxy-mode=userspace”
重啟kube-proxy服務
在核心路由設備或者源主機上添加一條路由,訪問cluster IP段的路由指向到master上。

kubernetes版本小於1.2時,直接添加路由

技術分享圖片

負載均衡器+NodePort

部署一個負載均衡器(nginx、keepalive等)

技術分享圖片

Ingress

Ingress是一種HTTP方式的路由轉發機制,由Ingress Controller和HTTP代理服務器組合而成。Ingress Controller實時監控Kubernetes API,實時更新HTTP代理服務器的轉發規則。HTTP代理服務器有GCE Load-Balancer、HaProxy、Nginx等開源方案。 詳細說明請見http://blog.csdn.net/liyingke112/article/details/77066814

技術分享圖片

loadbalance

LoadBalancer在NodePort基礎上,K8S可以請求底層雲平臺創建一個負載均衡器,將每個Node作為後端,進行服務分發。該模式需要底層雲平臺(例如GCE)支持。

讓外部網絡訪問K8S service的四種方式