成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何自建一個k8s ingress 思路

JiaXinYi / 2498人閱讀

摘要:如何自建一個思路接入方案我們都知道訪問集群的服務(wù)需要接入。據(jù)我所知,接入的方案有種云廠商提供比如官方的實現(xiàn)第三方實現(xiàn)方案自建,比如使用這里重點記錄一下,如何自建一個的思路??刂浦行氖且粋€叫的程序,監(jiān)控對應(yīng)的,數(shù)據(jù)代理是有組成。

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

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

據(jù)我所知,ingress 接入的方案有4種

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

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

ingress 接入方案的原理

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

如上圖所示

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

   當(dāng)然,如果ingress controller 這一套部署在k8s 集群內(nèi)的話,肯定是要暴露端口的。

我接觸到到的aliyun 的SLB 也類似。
SLB 控制中心是一個叫CMI的程序,監(jiān)控k8s 對應(yīng)的label, 數(shù)據(jù)代理是有LVS + nginx 組成。

自建ingress

這里說一下為什么會有自建的需要
首先,我們系統(tǒng)中使用grpc, grpc 使用h2為載體,進行多路復(fù)用。
目前對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 的。
就簡單的當(dāng)做一個tcp 來處理。
但是使用4層代理來做grpc 的代理有很大的缺點:
1).沒有辦法很好做到負載均衡。 因為h2 是7層協(xié)議,如果想在請求級別上做好負載均衡, 必須支持h2 7層協(xié)議。
2).沒有辦法收斂連接數(shù)。如果你的服務(wù)是連接數(shù)很多(比如一個grpc 的接入服務(wù)器), 那邊4層代理透傳連接數(shù)到上游服務(wù), 這樣一部4層代理本身的連接數(shù)翻倍,大量消耗連接數(shù)資源。

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

envoy ingress 代理

envoy ingress 代理
如下圖:

envoy 是支持xDS 動態(tài)下發(fā)routeconfig.
有xDS 監(jiān)控 k8s api-server , 下發(fā)routeconfig 的路由信息。

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/32920.html

相關(guān)文章

  • Kubernetes在混合云架構(gòu)下的應(yīng)用

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

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

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

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

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

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

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

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

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

    WalkerXu 評論0 收藏0

發(fā)表評論

0條評論

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