国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何自建一個k8s ingress 思路

JiaXinYi / 2489人閱讀

摘要:如何自建一個思路接入方案我們都知道訪問集群的服務需要接入。據我所知,接入的方案有種云廠商提供比如官方的實現第三方實現方案自建,比如使用這里重點記錄一下,如何自建一個的思路。控制中心是一個叫的程序,監控對應的,數據代理是有組成。

如何自建一個k8s ingress 思路 ingress 接入方案

我們都知道訪問k8s 集群的服務需要ingress 接入。

據我所知,ingress 接入的方案有4種

1.云廠商提供LoadBalance, 比如aliyun SLB.
2.官方的實現 ingress controller 
3.第三方實現方案
4.自建, 比如使用envoy 

這里重點記錄一下,如何自建一個ingress 的思路。

ingress 接入方案的原理

在講如何自建一個k8s ingress 之前,這里分別記錄一下ingress 的實現原理。
先說官方的實現。 https://github.com/kubernetes...
官方的ingress 接入實現使用ingress controller + nginx 實現的。

如上圖所示

   ingress 接入分為配置控制和數據代理。
   ingress controller 是一個控制中心,監控的數據來源
   1.k8s 集群的api-server, 比如node 、service、 pod 變化
   2.ingress 實例的configMap
   
   ingress controller 發現監控的數據有變化,就把監控的數據轉換成為nginx.conf 代理所需要配置。
   然后reload nginx. 從而實現數據流量接入路由。

   當然,如果ingress controller 這一套部署在k8s 集群內的話,肯定是要暴露端口的。

我接觸到到的aliyun 的SLB 也類似。
SLB 控制中心是一個叫CMI的程序,監控k8s 對應的label, 數據代理是有LVS + nginx 組成。

自建ingress

這里說一下為什么會有自建的需要
首先,我們系統中使用grpc, grpc 使用h2為載體,進行多路復用。
目前對grpc 代理做的比較好的是envoy.
有兩種方式對grpc 進行代理
1). 4層代理,簡單粗暴。
2). 7層代理。 做到可以更細維度的路由負載。

在說nginx proxy , nginx 是可以支持4層代理,也可以支持HTTP2 的7層代理,但是nginx 對grpc 支持不好。
因為 nginx 是不能做http2 的透明代理的。

1.nginx 做7 層代理h2

nginx僅支持HTTP/ 2用于下游連接。

nginx 做7層代理,下游是h2 代理,到上游是http1.x . 并不是一個透明代理。

2.nginx 做grpc 的4層代理。

實際上,支持4層代理的軟件,都支持grpc 代理。因為h2 也是基于tcp 的。
就簡單的當做一個tcp 來處理。
但是使用4層代理來做grpc 的代理有很大的缺點:
1).沒有辦法很好做到負載均衡。 因為h2 是7層協議,如果想在請求級別上做好負載均衡, 必須支持h2 7層協議。
2).沒有辦法收斂連接數。如果你的服務是連接數很多(比如一個grpc 的接入服務器), 那邊4層代理透傳連接數到上游服務, 這樣一部4層代理本身的連接數翻倍,大量消耗連接數資源。

而 envoy 代理grpc 沒有上面2個問題。
1).envoy 支持h2 的路由轉發,并且配置負載均衡。
2).envoy 代理h2 到上游服務,連接數是收斂的。比如50w 連接數到經過envoy 代理到上游服務可能是20 個連接,連接數大大收斂。

envoy ingress 代理

envoy ingress 代理
如下圖:

envoy 是支持xDS 動態下發routeconfig.
有xDS 監控 k8s api-server , 下發routeconfig 的路由信息。

參考文章
http://jm.taobao.org/2018/07/...,
https://segmentfault.com/a/11...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32920.html

相關文章

  • Kubernetes在混合云架構下的應用

    摘要:但考慮到該用戶在跨集群模式下的困擾,開始策劃將托管云物理機納入現有集群統一管理的方案,即在混合云架構下僅需部署管理一套集群。托管云物理機納入UK8S集群統一管理后,可實現托管云物理機保障平峰時業務正常運行,高峰時期利用UK8S快速擴容公有云資源的理想應用場景,繼而提升混合云的可用性。 ——海豹他趣技術負責人 張嵩 混合云的業務模式 廈門海豹他趣信息技術股份有限公司于2012年4...

    BenCHou 評論0 收藏0
  • 如何在Kubernetes中暴露服務訪問

    摘要:中暴露服務訪問自己實現了一個,它本質上是包裝了,在真正創建負載均衡器上它會調用來創建自身的。 Kubernetes概述 最近的一年,kubernetes的發展如此閃耀,正被越來越多的公司采納用于生產環境的實踐。同時,我們可以在最著名的開發者問答社區StackOverflow上看到k8s的問題數量的增長曲線(2015.5-2016.5),開發者是用腳投票的,從這一點看也無疑證明了k8s的...

    wendux 評論0 收藏0
  • 如何在Kubernetes中暴露服務訪問

    摘要:中暴露服務訪問自己實現了一個,它本質上是包裝了,在真正創建負載均衡器上它會調用來創建自身的。 Kubernetes概述 最近的一年,kubernetes的發展如此閃耀,正被越來越多的公司采納用于生產環境的實踐。同時,我們可以在最著名的開發者問答社區StackOverflow上看到k8s的問題數量的增長曲線(2015.5-2016.5),開發者是用腳投票的,從這一點看也無疑證明了k8s的...

    Lin_R 評論0 收藏0
  • K8S Ingress環境下,Http Redirect端口丟失問題

    摘要:近日發現一個問題應用程序在返回的時候丟失了原先訪問的端口。于是懷疑問題出在這幾個上。在中,在描述的時候提到,其返回的必須是。修改的端口為靠譜這個方法比較靠譜,只要將的端口改成就沒有問題了。使用靠譜使用提供的,將的值做文本替換。 github 近日發現一個問題:應用程序在返回Http Redirect的時候丟失了原先訪問的端口。比如,我們這樣訪問http://IP-A:Port-A/ap...

    Jochen 評論0 收藏0
  • K8S Ingress環境下,Http Redirect端口丟失問題

    摘要:近日發現一個問題應用程序在返回的時候丟失了原先訪問的端口。于是懷疑問題出在這幾個上。在中,在描述的時候提到,其返回的必須是。修改的端口為靠譜這個方法比較靠譜,只要將的端口改成就沒有問題了。使用靠譜使用提供的,將的值做文本替換。 github 近日發現一個問題:應用程序在返回Http Redirect的時候丟失了原先訪問的端口。比如,我們這樣訪問http://IP-A:Port-A/ap...

    WalkerXu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<