Contour是一家名為Heptio的公司開發(fā),Heptio后來被VMware收購,Contour也進(jìn)入VMware旗下。Contour通過部署Envoy代理作為反向代理和負(fù)載平衡,來控制流入Kubernetes的流量,Contour支持動態(tài)更新,并可通過限制命名空間支持多團(tuán)隊(duì)的Kubernetes集群,能夠方便地配置虛擬主機(jī)和TLS認(rèn)證,并提供進(jìn)階的負(fù)載平衡政策。
而Envoy則是Lyft創(chuàng)建,目前同樣是由CNCF托管,是一個開源的邊緣與服務(wù)代理,廣泛被整合到各種云原生應(yīng)用中,Envoy以獨(dú)立的程序與每個應(yīng)用服務(wù)器共同運(yùn)作,能夠抽象化基礎(chǔ)設(shè)施,提供常用的網(wǎng)絡(luò)功能,所有的Envoy會組成一個透明溝通網(wǎng)格,應(yīng)用流量便在這個網(wǎng)格之中流動,當(dāng)有問題發(fā)生時,用戶便能快速地找出問題來源。
Lyft軟件工程師,Matt Klein表示,要使用Kubernetes執(zhí)行大規(guī)模工作負(fù)載,關(guān)鍵之一便是實(shí)作有效的OSI第7層流量輸入管理,而Contour整合Envoy,提供了訪問Kubernetes集群中應(yīng)用的方法。
CNCF技術(shù)官,Chris Aniszczyk則提到,由于現(xiàn)代分散式架構(gòu)系統(tǒng)仰賴網(wǎng)絡(luò)以及連接性,這使得Kubernetes輸入控制成為架構(gòu)不可缺少的部分,他認(rèn)為,Contour是Envoy邏輯上的補(bǔ)充,易于適用云原生與多團(tuán)隊(duì)的環(huán)境。
Contour已經(jīng)被多家企業(yè)使用,包括Adobe使用Contour作為自家多租戶Kubernetes平臺Ethos的輸入控制器。社群也已經(jīng)制定了Contour明確的發(fā)展路線,計(jì)劃支持Kubernetes Service API以及跨Kubernetes集群路由服務(wù),另外,Contour還會擴(kuò)大支持Envoy,加入速率限制、身份認(rèn)證以及訪問日志服務(wù)等功能。