a级片网址,www.一级毛片,日批国产,中文字幕日韩精品有码视频,黄色毛片免费网站,久久久精品午夜免费不卡,天堂福利视频

您當(dāng)前的位置是:  首頁 > 資訊 > 國內(nèi) >
 首頁 > 資訊 > 國內(nèi) >

Kubernetes網(wǎng)絡(luò)、監(jiān)控技術(shù)全面解讀!

2019-06-21 10:32:41   作者:君子蘭   來源:云技術(shù)   評(píng)論:0  點(diǎn)擊:


  宇宙文明的技術(shù)進(jìn)步與其可控制的能源總量息息相關(guān),從低到高可以確定文明發(fā)展的三種類型:類型一、能夠充分利用行星資源;類型二、能夠收集整個(gè)恒星系統(tǒng)的能源;類型三、可以利用星系系統(tǒng)的能源。
  —— 1964年,天體物理學(xué)家尼古拉-卡爾達(dá)舍夫
  如果從資源利用的角度劃分,云計(jì)算可以劃分為兩個(gè)類型,類型一:基于傳統(tǒng)虛擬化構(gòu)建的云,這是目前大部分云的形態(tài)。類型二:基于容器構(gòu)建的云,這是云必然的未來。容器對(duì)資源的利用率要提高一個(gè)數(shù)量級(jí),更重要的是顆粒度更細(xì),自動(dòng)化程度更高。容器是傳統(tǒng)虛擬化效率的數(shù)百倍,滾滾洪流,不可阻擋。
  更高的類型,也意味著更復(fù)雜,筆者尤其關(guān)注容器云在網(wǎng)絡(luò)、監(jiān)控兩方面面臨巨大的挑戰(zhàn)。
  一、容器常見的網(wǎng)絡(luò)解決方案概述和對(duì)比
  容器常見的網(wǎng)絡(luò)標(biāo)準(zhǔn)有兩種,分別是Docker公司提出的CNM(Container Network Model),和CoreOS公司提出的CNI(Container Network Interface)。
  1. CNM介紹
  Libnetwork是CNM規(guī)范的規(guī)范實(shí)現(xiàn),Libnetwork提供Docker守護(hù)程序和網(wǎng)絡(luò)驅(qū)動(dòng)程序之間的接口。網(wǎng)絡(luò)控制器負(fù)責(zé)將驅(qū)動(dòng)程序與網(wǎng)絡(luò)配對(duì)。每個(gè)驅(qū)動(dòng)程序負(fù)責(zé)管理其擁有的網(wǎng)絡(luò),包括提供給該網(wǎng)絡(luò)的服務(wù)。 每個(gè)網(wǎng)絡(luò)有一個(gè)驅(qū)動(dòng)程序,多個(gè)驅(qū)動(dòng)程序可以與連接到多個(gè)網(wǎng)絡(luò)的容器同時(shí)使用。
  Libnetwork提供Docker守護(hù)程序和網(wǎng)絡(luò)驅(qū)動(dòng)程序之間的接口,圖來源:thenewstack.io
  2. CNI介紹
  CNI已經(jīng)成為云原生應(yīng)用基金會(huì)(CNCF)的正式項(xiàng)目,用于編寫插件以配置Linux容器中的網(wǎng)絡(luò)接口。CNI僅關(guān)注容器的網(wǎng)絡(luò)連接并在刪除容器時(shí)刪除分配的資源。CNI提供了廣泛的支持,并且規(guī)范易于實(shí)現(xiàn),支持第三方插件。
  CNI是向網(wǎng)絡(luò)添加和刪除容器的最小規(guī)范,圖來源:thenewstack.io
  目前主流的容器云都是基于Kubernetes構(gòu)建,CNI也是Kubernetes所采用的網(wǎng)絡(luò)標(biāo)準(zhǔn)。常見的CNI網(wǎng)絡(luò)插件有:
  圖來自于網(wǎng)絡(luò),出處不可考
  1)常見的CNI插件介紹
  • Calico:Calico使用純L3方法提供簡(jiǎn)單,可擴(kuò)展的網(wǎng)絡(luò)。Calico還提供無狀態(tài)IP-in-IP模式,除了可擴(kuò)展的網(wǎng)絡(luò),Calico還提供策略隔離。Calico是一個(gè)基于BGP的純?nèi)龑拥臄?shù)據(jù)中心網(wǎng)絡(luò)方案(不需要Overlay)。
  • Flannel:flannel一種簡(jiǎn)單易用的方法,可以配置為Kubernetes設(shè)計(jì)的layer3網(wǎng)絡(luò)結(jié)構(gòu)。flannel基于Linux TUN/TAP,使用UDP封裝IP包來創(chuàng)建overlay網(wǎng)絡(luò),并借助etcd維護(hù)網(wǎng)絡(luò)的分配情況。
  • Canal:Canal支持Flannel和Calico,提供開箱即用的VXLAN網(wǎng)絡(luò),同時(shí)還允許利用Calico策略隔離。
  • Cilium:Cilium是一個(gè)開源軟件,用于透明地提供和保護(hù)使用Kubernetes、Docker和Mesos等Linux容器管理平臺(tái)部署的應(yīng)用程序服務(wù)之間的網(wǎng)絡(luò)和API連接。Cilium的基礎(chǔ)是名為BPF的新Linux內(nèi)核技術(shù),它可以在Linux本身內(nèi)動(dòng)態(tài)插入強(qiáng)大的安全性、可見性和網(wǎng)絡(luò)控制邏輯。
  • kopeio-networking:kopeio-networking是專為Kubernetes而設(shè)計(jì)的,充分利用了Kubernetes API,因此更簡(jiǎn)單,更可靠。
  • kube-router:Kube-router是專為Kubernetes打造的專用網(wǎng)絡(luò)解決方案,旨在提供操作簡(jiǎn)單性和性能。Kube-router將pod網(wǎng)絡(luò)解決方案,服務(wù)代理和網(wǎng)絡(luò)策略實(shí)施器作為一體化解決方案。
  • Romana:Romana為pod網(wǎng)絡(luò)使用標(biāo)準(zhǔn)的第3層網(wǎng)絡(luò)。Romana支持Kubernetes網(wǎng)絡(luò)策略API,使群集跨網(wǎng)絡(luò)可用區(qū)域分割,Romana支持各種網(wǎng)絡(luò)拓?fù),包括?層和第3層網(wǎng)絡(luò)。節(jié)點(diǎn)之間的路由在本地安裝,必要時(shí)使用BGP或OSPF分發(fā)到網(wǎng)絡(luò)設(shè)備。
  Weave Net:Weave Net支持多主機(jī)容器網(wǎng)絡(luò),可以跨越不同的云網(wǎng)絡(luò)配置,簡(jiǎn)化Kubernetes上運(yùn)行的舊工作負(fù)載。
  2)CNI插件項(xiàng)目Forks數(shù)量比較
  Github上被Forks的數(shù)量對(duì)比,圖來源chrislovecnm.com
  3)CNI插件項(xiàng)目10Gbit網(wǎng)絡(luò)下的CPU消耗比較
  10Gbit網(wǎng)絡(luò)下的CPU消耗比較,圖來源itnext.io
  由于篇幅所限,本文僅對(duì)CNI插件做簡(jiǎn)單介紹,如果對(duì)CNI插件有進(jìn)一步興趣,可以查閱相關(guān)項(xiàng)目官方文檔。
  二、Kubernetes的監(jiān)控解決方案介紹
  Kubernetes因?yàn)闋顟B(tài)一直動(dòng)態(tài)變化,因此監(jiān)控也是一個(gè)難點(diǎn),常見的監(jiān)控工具有:
  • Kubelet: Kubelet通過Kubernetes API服務(wù)器監(jiān)視PodSpecs,并收集資源利用率統(tǒng)計(jì)信息以及pod和事件狀態(tài)。
  • cAdvisor:cAdvisor是一個(gè)開源容器資源使用和性能分析代理,專為容器而構(gòu)建。在Kubernetes中,cAdvisor被集成到Kubelet二進(jìn)制文件中。cAdvisor自動(dòng)發(fā)現(xiàn)機(jī)器中的所有容器,并收集CPU,內(nèi)存,文件系統(tǒng)和網(wǎng)絡(luò)使用情況統(tǒng)計(jì)信息。
  • Prometheus:Prometheus可以原生地監(jiān)測(cè)Kubernetes,Prometheus Operator簡(jiǎn)化了Kubernetes上的Prometheus設(shè)置,并允許使用Prometheus適配器提供自定義指標(biāo)API。 Prometheus提供強(qiáng)大的查詢語言和內(nèi)置儀表板,用于查詢和可視化數(shù)據(jù)。
  • Sysdig:Sysdig將來自系統(tǒng)調(diào)用,Kubernetes事件,Prometheus指標(biāo),statsD,JMX等的數(shù)據(jù)整合到一個(gè)頁面中,從而提供環(huán)境的全面信息。Sysdig還提供了API來查詢,以提供強(qiáng)大且可定制的解決方案。Sysdig和Sysdig Inspect能夠自由地執(zhí)行故障排除,性能分析和取證。
  • Jaeger:Jaeger是優(yōu)步科技發(fā)布的追蹤系統(tǒng),用于在復(fù)雜的分布式系統(tǒng)中進(jìn)行故障排除和監(jiān)控事務(wù)。
  • Weave Scope:Weave Scope是Weaveworks開發(fā)的監(jiān)控工具。Weave Scope在Kubernetes集群中生成進(jìn)程,容器和主機(jī)的映射,以幫助實(shí)時(shí)了解Docker容器。還可基于圖形UI管理容器并在容器上運(yùn)行診斷命令。
  目前主流的Kubernetes監(jiān)控方式通過Prometheus,通過Grafana展現(xiàn)。
  通過Prometheus監(jiān)控Kubernetes,通過Grafana展現(xiàn),圖來源:grafana.com
  從上面的介紹可以看出,Kubernetes在網(wǎng)絡(luò)、服務(wù)狀態(tài)、監(jiān)控方面有各種解決方案,每種解決方案可以說都有優(yōu)缺點(diǎn)。筆者最近參加了UCloud的TIC大會(huì),現(xiàn)場(chǎng)聽了UCloud優(yōu)刻得實(shí)驗(yàn)室負(fù)責(zé)人葉理燈關(guān)于Kubernetes的一個(gè)分享,葉理燈的分享干貨很多,比如基于RBAC實(shí)現(xiàn)賬號(hào)管理隔離,有狀態(tài)和無狀態(tài)服務(wù)的管理。筆者特別關(guān)注了UCloud在Kubernetes網(wǎng)絡(luò)和監(jiān)控解決方案的獨(dú)到之處,和大家分享下。
  三、KUN和UK8S網(wǎng)絡(luò)和監(jiān)控幾個(gè)厲害的玩法
  葉理燈介紹了UCloud基于Kubernetes打造的內(nèi)部容器云平臺(tái)(簡(jiǎn)稱KUN)和針對(duì)外部用戶的容器管理服務(wù)UK8S。KUN的主要實(shí)現(xiàn)方法之一是K8S+Docker,通過Docker提高運(yùn)維部署效率和運(yùn)維環(huán)境的一致性,通過K8S實(shí)現(xiàn)跨可用區(qū)容災(zāi)和Auto Scaling能力,從而實(shí)現(xiàn)高可用、在線升級(jí)、自動(dòng)擴(kuò)縮、負(fù)載均衡、日志查看、資源監(jiān)控等多種功能。而UK8S可以讓用戶直接在上面部署、管理、擴(kuò)展容器化應(yīng) , 需關(guān) Kubernetes集群 身的搭建及維護(hù)等運(yùn)維類 作。UK8S完全兼容原 的Kubernetes API,以UCloud私有 絡(luò)為基礎(chǔ),并整合了ULB、UDisk、EIP、VPC等云產(chǎn)品。
  1. UK8S網(wǎng)絡(luò)特點(diǎn)-連放五個(gè)大招
  UK8S在網(wǎng)絡(luò)上有五個(gè)大招,全面支持IPV6,實(shí)現(xiàn)了容器云和現(xiàn)有公有云的無縫融合,并且在性能和云主機(jī)一致:
  • UK8S全面支持IPV6,并且能夠做到核 基礎(chǔ) 絡(luò) 需修改,underlay,Pod與集群外部互通。
  • 研CNI插件,與VPC?絡(luò)深度集成
  • 利口SecoryIP,API實(shí)現(xiàn)IP管理
  • overlay,性能與云主機(jī)致
  • Pod 絡(luò)可與物理云托管云直接互通
  令人印象深刻的是,UCloud自研的CNI(Container Network Interface)插件,使UK8S擁有與云主機(jī)等同的網(wǎng)絡(luò)性能(目前最高可達(dá)10 Gb/s,100萬pps)。
  2. 一站式Kubernetes服務(wù)(UK8S)打造
  在管理服務(wù)方面,UK8S支持完全的容器化和微服務(wù)化,可以確保所有管理服務(wù)全部運(yùn)行在內(nèi)部KUN平臺(tái)上,基于KUN的API對(duì)服務(wù)模塊進(jìn)行動(dòng)態(tài)管理;一個(gè)集群對(duì)應(yīng)生成一個(gè)Watcher,容易進(jìn)行橫向擴(kuò)展;基于Watcher+Redis緩存的方式,保證用戶在控制臺(tái)獲取集群信息的速度足夠快,相當(dāng)于用K8S管理K8S。
  托管方面,采用“UK8S+托管物理機(jī)”的模式可以合理利用存量物理資源,且無需運(yùn)維管理UK8S集群以及部署外部負(fù)載均衡,業(yè)務(wù)高峰可隨時(shí)擴(kuò)容集群,幫助用戶有效利用存量IT資源。例如,Master節(jié)點(diǎn)部署在共有云上,Node節(jié)點(diǎn)分為公有云和托管云兩部分,兩個(gè)區(qū)的網(wǎng)絡(luò)實(shí)現(xiàn)了互聯(lián)互通等。
  例如:元年科技CTO 楊熠提到:“使用UK8S,開發(fā)者可以像使用普通云服務(wù)器一樣迅速搭建K8S環(huán)境。在享受K8S帶來的便利的同時(shí),能夠讓開發(fā)人員集中注意力在業(yè)務(wù)實(shí)現(xiàn)的細(xì)節(jié),而不必在基礎(chǔ)架構(gòu)搭建上浪費(fèi)太多的精力。UCloud為此提供的專業(yè)、快速的服務(wù)和響應(yīng)機(jī)制幫助我們成功的將整個(gè)環(huán)境從自建K8S平滑遷移到UK8S。”
  3.KUN監(jiān)控特點(diǎn)介紹
  UCloud KUN的監(jiān)控系統(tǒng)方案基于Prometheus構(gòu)建,Prometheus部署于K8S集群中,使用HostPath存儲(chǔ)數(shù)據(jù)、Metrics采集,使用 Alert Manager 聚合報(bào)警,調(diào)用 Monitor Manager 提供的 Web Hook;自研 Monitor Manager 可以實(shí)現(xiàn)告警信息的發(fā)送,發(fā)送渠道包括郵件和微信,告警組管理、互相監(jiān)控探測(cè)功能、報(bào)警收斂;使用 Grafana 實(shí)現(xiàn) Web 可視化。
  筆者總結(jié)KUN監(jiān)控有兩個(gè)企業(yè)用戶特別關(guān)心的點(diǎn):
  • 研 Monitor Manager:實(shí)現(xiàn)告警信息的發(fā)送,發(fā)送渠道包括郵件和微信,告警組管理,互相監(jiān)控探測(cè)功能,報(bào)警收斂。
  • 監(jiān)控系統(tǒng) 可 :冗余部署每個(gè) AZ 下運(yùn) 個(gè) Prometheus,各個(gè) Prometheus 獨(dú) 運(yùn) ,采集同樣的數(shù)據(jù);每個(gè) AZ 下運(yùn) 個(gè) Alert Manager,每個(gè) Alert Manager 接受兩個(gè) Prometheus 的消息,他們之間互為 peer,去除冗余報(bào)警。
  為了實(shí)現(xiàn)監(jiān)控系統(tǒng)的高可用,UCloud采取了冗余部署方案,Monitor Manager 部署在 K8S集群之外,跨AZ部署互相監(jiān)控;通過微信和聽云從外部對(duì) Monitor Manager 進(jìn)行監(jiān)控;Prometheus 配置DeadMansSwitch 規(guī)則,實(shí)現(xiàn)一個(gè)永遠(yuǎn)觸發(fā)的告警,MonitorManager 對(duì)其進(jìn)行檢測(cè),當(dāng)較長時(shí)間沒有收到報(bào)警時(shí),說明監(jiān)控告警系統(tǒng)不工作了,發(fā)出告警;Grafana 使用 PVC 進(jìn)行配置文件的存儲(chǔ)。
  4. 一個(gè)終極厲害的玩法
  因?yàn)閁K8S在網(wǎng)絡(luò)上能夠做到和公有云全面融合,還可以有一個(gè)厲害的玩法--平滑遷移。因?yàn)镻od具有與VM等同的 絡(luò)待遇,讓VM與容器混合部署成為可能,也讓業(yè)務(wù)遷移到K8S更簡(jiǎn)單。
  總結(jié):使用UK8S,就是抓住未來
  Kubernetes已經(jīng)發(fā)布整整5年了,但是Kubernetes還在飛速發(fā)展,絲毫沒有停下來的跡象,相反還在不斷攻城略地,Kubernetes就是現(xiàn)在明顯能抓住的未來。在Kubernetes落地過程中,網(wǎng)絡(luò)和監(jiān)控面臨很大挑戰(zhàn),也有很多解決方案。UCloud在云計(jì)算方面有將近十年的技術(shù)積累,推出的UK8S托管方案,如利劍出鞘,斬?cái)嗳魏稳萜麟y題,讓用戶輕松步入容器時(shí)代,使用UK8S,就是抓住未來。
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題

CTI論壇會(huì)員企業(yè)

康乐县| 温泉县| 额尔古纳市| 东阳市| 营山县| 镇平县| 巩留县| 灵川县| 郯城县| 林口县| 吴桥县| 始兴县| 常山县| 宜宾县| 永胜县| 肃宁县| 临江市| 巴林左旗| 肥东县| 河源市| 扶绥县| 榆中县| 班戈县| 娄底市| 本溪市| 衡阳市| 林芝县| 城市| 玉林市| 兴山县| 五原县| 岳西县| 嫩江县| 梓潼县| 嘉善县| 西峡县| 牡丹江市| 固安县| 图木舒克市| 泗水县| 祁东县|