自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

云計算
如果從資源利用的角度劃分,云計算可以劃分為兩個類型,類型一:基于傳統(tǒng)虛擬化構建的云,這是目前大部分云的形態(tài)。類型二:基于容器構建的云,這是云必然的未來。容器對資源的利用率要提高一個數(shù)量級,更重要的是顆粒度更細,自動化程度更高。容器是傳統(tǒng)虛擬化效率的數(shù)百倍,滾滾洪流,不可阻擋。
  • 宇宙文明的技術進步與其可控制的能源總量息息相關,從低到高可以確定文明發(fā)展的三種類型:類型一、能夠充分利用行星資源;類型二、能夠收集整個恒星系統(tǒng)的能源;類型三、可以利用星系系統(tǒng)的能源。

—— 1964年,天體物理學家尼古拉-卡爾達舍夫

如果從資源利用的角度劃分,云計算可以劃分為兩個類型,類型一:基于傳統(tǒng)虛擬化構建的云,這是目前大部分云的形態(tài)。類型二:基于容器構建的云,這是云必然的未來。容器對資源的利用率要提高一個數(shù)量級,更重要的是顆粒度更細,自動化程度更高。容器是傳統(tǒng)虛擬化效率的數(shù)百倍,滾滾洪流,不可阻擋。

更高的類型,也意味著更復雜,筆者尤其關注容器云在網(wǎng)絡、監(jiān)控兩方面面臨巨大的挑戰(zhàn)。

一、容器常見的網(wǎng)絡解決方案概述和對比

容器常見的網(wǎng)絡標準有兩種,分別是Docker公司提出的CNM(Container Network Model),和CoreOS公司提出的CNI(Container Network Interface)。

1. CNM介紹

Libnetwork是CNM規(guī)范的規(guī)范實現(xiàn),Libnetwork提供Docker守護程序和網(wǎng)絡驅動程序之間的接口。網(wǎng)絡控制器負責將驅動程序與網(wǎng)絡配對。每個驅動程序負責管理其擁有的網(wǎng)絡,包括提供給該網(wǎng)絡的服務。 每個網(wǎng)絡有一個驅動程序,多個驅動程序可以與連接到多個網(wǎng)絡的容器同時使用。 

Kubernetes 網(wǎng)絡、監(jiān)控技術全面解讀
Libnetwork提供Docker守護程序和網(wǎng)絡驅動程序之間的接口,圖來源:thenewstack

2. CNI介紹 

[[268659]]

CNI已經(jīng)成為云原生應用基金會(CNCF)的正式項目,用于編寫插件以配置Linux容器中的網(wǎng)絡接口。CNI僅關注容器的網(wǎng)絡連接并在刪除容器時刪除分配的資源。CNI提供了廣泛的支持,并且規(guī)范易于實現(xiàn),支持第三方插件。 

Kubernetes 網(wǎng)絡、監(jiān)控技術全面解讀
CNI是向網(wǎng)絡添加和刪除容器的最小規(guī)范,圖來源:thenewstack.io

目前主流的容器云都是基于Kubernetes構建,CNI也是Kubernetes所采用的網(wǎng)絡標準。常見的CNI網(wǎng)絡插件有: 

Kubernetes 網(wǎng)絡、監(jiān)控技術全面解讀
圖來自于網(wǎng)絡,出處不可考

1)常見的CNI插件介紹

  • Calico:Calico使用純L3方法提供簡單,可擴展的網(wǎng)絡。Calico還提供無狀態(tài)IP-in-IP模式,除了可擴展的網(wǎng)絡,Calico還提供策略隔離。Calico是一個基于BGP的純?nèi)龑拥臄?shù)據(jù)中心網(wǎng)絡方案(不需要Overlay)。
  • Flannel:flannel一種簡單易用的方法,可以配置為Kubernetes設計的layer3網(wǎng)絡結構。flannel基于Linux TUN/TAP,使用UDP封裝IP包來創(chuàng)建overlay網(wǎng)絡,并借助etcd維護網(wǎng)絡的分配情況。
  • Canal:Canal支持Flannel和Calico,提供開箱即用的VXLAN網(wǎng)絡,同時還允許利用Calico策略隔離。
  • Cilium:Cilium是一個開源軟件,用于透明地提供和保護使用Kubernetes、Docker和Mesos等Linux容器管理平臺部署的應用程序服務之間的網(wǎng)絡和API連接。Cilium的基礎是名為BPF的新Linux內(nèi)核技術,它可以在Linux本身內(nèi)動態(tài)插入強大的安全性、可見性和網(wǎng)絡控制邏輯。
  • kopeio-networking:kopeio-networking是專為Kubernetes而設計的,充分利用了Kubernetes API,因此更簡單,更可靠。
  • kube-router:Kube-router是專為Kubernetes打造的專用網(wǎng)絡解決方案,旨在提供操作簡單性和性能。Kube-router將pod網(wǎng)絡解決方案,服務代理和網(wǎng)絡策略實施器作為一體化解決方案。
  • Romana:Romana為pod網(wǎng)絡使用標準的第3層網(wǎng)絡。Romana支持Kubernetes網(wǎng)絡策略API,使群集跨網(wǎng)絡可用區(qū)域分割,Romana支持各種網(wǎng)絡拓撲,包括第2層和第3層網(wǎng)絡。節(jié)點之間的路由在本地安裝,必要時使用BGP或OSPF分發(fā)到網(wǎng)絡設備。
  • Weave Net:Weave Net支持多主機容器網(wǎng)絡,可以跨越不同的云網(wǎng)絡配置,簡化Kubernetes上運行的舊工作負載。

2)CNI插件項目Forks數(shù)量比較 

Kubernetes 網(wǎng)絡、監(jiān)控技術全面解讀
Github上被Forks的數(shù)量對比,圖來源chrislovecnm.com

3)CNI插件項目10Gbit網(wǎng)絡下的CPU消耗比較 

Kubernetes 網(wǎng)絡、監(jiān)控技術全面解讀
10Gbit網(wǎng)絡下的CPU消耗比較,圖來源itnext.io

由于篇幅所限,本文僅對CNI插件做簡單介紹,如果對CNI插件有進一步興趣,可以查閱相關項目官方文檔。

二、Kubernetes的監(jiān)控解決方案介紹

Kubernetes因為狀態(tài)一直動態(tài)變化,因此監(jiān)控也是一個難點,常見的監(jiān)控工具有:

  • Kubelet: Kubelet通過Kubernetes API服務器監(jiān)視PodSpecs,并收集資源利用率統(tǒng)計信息以及pod和事件狀態(tài)。
  • cAdvisor:cAdvisor是一個開源容器資源使用和性能分析代理,專為容器而構建。在Kubernetes中,cAdvisor被集成到Kubelet二進制文件中。cAdvisor自動發(fā)現(xiàn)機器中的所有容器,并收集CPU,內(nèi)存,文件系統(tǒng)和網(wǎng)絡使用情況統(tǒng)計信息。
  • Prometheus:Prometheus可以原生地監(jiān)測Kubernetes,Prometheus Operator簡化了Kubernetes上的Prometheus設置,并允許使用Prometheus適配器提供自定義指標API。 Prometheus提供強大的查詢語言和內(nèi)置儀表板,用于查詢和可視化數(shù)據(jù)。
  • Sysdig:Sysdig將來自系統(tǒng)調(diào)用,Kubernetes事件,Prometheus指標,statsD,JMX等的數(shù)據(jù)整合到一個頁面中,從而提供環(huán)境的全面信息。Sysdig還提供了API來查詢,以提供強大且可定制的解決方案。Sysdig和Sysdig Inspect能夠自由地執(zhí)行故障排除,性能分析和取證。
  • Jaeger:Jaeger是優(yōu)步科技發(fā)布的追蹤系統(tǒng),用于在復雜的分布式系統(tǒng)中進行故障排除和監(jiān)控事務。
  • Weave Scope:Weave Scope是Weaveworks開發(fā)的監(jiān)控工具。Weave Scope在Kubernetes集群中生成進程,容器和主機的映射,以幫助實時了解Docker容器。還可基于圖形UI管理容器并在容器上運行診斷命令。

目前主流的Kubernetes監(jiān)控方式通過Prometheus,通過Grafana展現(xiàn)。 

Kubernetes 網(wǎng)絡、監(jiān)控技術全面解讀
通過Prometheus監(jiān)控Kubernetes,通過Grafana展現(xiàn),圖來源:grafana.c

從上面的介紹可以看出,Kubernetes在網(wǎng)絡、服務狀態(tài)、監(jiān)控方面有各種解決方案,每種解決方案可以說都有優(yōu)缺點。筆者最近參加了UCloud的TIC大會,現(xiàn)場聽了UCloud優(yōu)刻得實驗室負責人葉理燈關于Kubernetes的一個分享,葉理燈的分享干貨很多,比如基于RBAC實現(xiàn)賬號管理隔離,有狀態(tài)和無狀態(tài)服務的管理。筆者特別關注了UCloud在Kubernetes網(wǎng)絡和監(jiān)控解決方案的獨到之處,和大家分享下。

三、KUN和UK8S網(wǎng)絡和監(jiān)控幾個厲害的玩法

葉理燈介紹了UCloud基于Kubernetes打造的內(nèi)部容器云平臺(簡稱KUN)和針對外部用戶的容器管理服務UK8S。KUN的主要實現(xiàn)方法之一是K8S+Docker,通過Docker提高運維部署效率和運維環(huán)境的一致性,通過K8S實現(xiàn)跨可用區(qū)容災和Auto Scaling能力,從而實現(xiàn)高可用、在線升級、自動擴縮、負載均衡、日志查看、資源監(jiān)控等多種功能。而UK8S可以讓用戶直接在上面部署、管理、擴展容器化應⽤,⽽⽆需關⼼Kubernetes集群⾃身的搭建及維護等運維類⼯作。UK8S完全兼容原⽣的Kubernetes API,以UCloud私有⽹絡為基礎,并整合了ULB、UDisk、EIP、VPC等云產(chǎn)品。

1. UK8S網(wǎng)絡特點-連放五個大招

UK8S在網(wǎng)絡上有五個大招,全面支持IPV6,實現(xiàn)了容器云和現(xiàn)有公有云的無縫融合,并且在性能和云主機一致:

  • UK8S全面支持IPV6,并且能夠做到核⼼基礎⽹絡⽆需修改,underlay,Pod與集群外部互通。
  • ⾃研CNI插件,與VPC⽹絡深度集成
  • 利⽤SecondaryIP,API實現(xiàn)IP管理
  • ⽆overlay,性能與云主機⼀致
  • Pod⽹絡可與物理云托管云直接互通

令人印象深刻的是,UCloud自研的CNI(Container Network Interface)插件,使UK8S擁有與云主機等同的網(wǎng)絡性能(目前***可達10 Gb/s,100萬pps)。

2. 一站式Kubernetes服務(UK8S)打造

在管理服務方面,UK8S支持完全的容器化和微服務化,可以確保所有管理服務全部運行在內(nèi)部KUN平臺上,基于KUN的API對服務模塊進行動態(tài)管理;一個集群對應生成一個Watcher,容易進行橫向擴展;基于Watcher+Redis緩存的方式,保證用戶在控制臺獲取集群信息的速度足夠快,相當于用K8S管理K8S。

托管方面,采用“UK8S+托管物理機”的模式可以合理利用存量物理資源,且無需運維管理UK8S集群以及部署外部負載均衡,業(yè)務高峰可隨時擴容集群,幫助用戶有效利用存量IT資源。例如,Master節(jié)點部署在共有云上,Node節(jié)點分為公有云和托管云兩部分,兩個區(qū)的網(wǎng)絡實現(xiàn)了互聯(lián)互通等。 

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

例如:元年科技CTO 楊熠提到:“使用UK8S,開發(fā)者可以像使用普通云服務器一樣迅速搭建K8S環(huán)境。在享受K8S帶來的便利的同時,能夠讓開發(fā)人員集中注意力在業(yè)務實現(xiàn)的細節(jié),而不必在基礎架構搭建上浪費太多的精力。UCloud為此提供的專業(yè)、快速的服務和響應機制幫助我們成功的將整個環(huán)境從自建K8S平滑遷移到UK8S。”

3.KUN監(jiān)控特點介紹

UCloud KUN的監(jiān)控系統(tǒng)方案基于Prometheus構建,Prometheus部署于K8S集群中,使用HostPath存儲數(shù)據(jù)、Metrics采集,使用 Alert Manager 聚合報警,調(diào)用 Monitor Manager 提供的 Web Hook;自研 Monitor Manager 可以實現(xiàn)告警信息的發(fā)送,發(fā)送渠道包括郵件和微信,告警組管理、互相監(jiān)控探測功能、報警收斂;使用 Grafana 實現(xiàn) Web 可視化。

筆者總結KUN監(jiān)控有兩個企業(yè)用戶特別關心的點:

  • ⾃研 Monitor Manager:實現(xiàn)告警信息的發(fā)送,發(fā)送渠道包括郵件和微信,告警組管理,互相監(jiān)控探測功能,報警收斂。
  • 監(jiān)控系統(tǒng)⾼可⽤:冗余部署每個 AZ 下運⾏⼀個 Prometheus,各個 Prometheus 獨⽴運⾏,采集同樣的數(shù)據(jù);每個 AZ 下運⾏⼀個 Alert Manager,每個 Alert Manager 接受兩個 Prometheus 的消息,他們之間互為 peer,去除冗余報警。

為了實現(xiàn)監(jiān)控系統(tǒng)的高可用,UCloud采取了冗余部署方案,Monitor Manager 部署在 K8S集群之外,跨AZ部署互相監(jiān)控;通過微信和聽云從外部對 Monitor Manager 進行監(jiān)控;Prometheus 配置DeadMansSwitch 規(guī)則,實現(xiàn)一個永遠觸發(fā)的告警,MonitorManager 對其進行檢測,當較長時間沒有收到報警時,說明監(jiān)控告警系統(tǒng)不工作了,發(fā)出告警;Grafana 使用 PVC 進行配置文件的存儲。 

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

4. 一個***厲害的玩法

因為UK8S在網(wǎng)絡上能夠做到和公有云全面融合,還可以有一個厲害的玩法--平滑遷移。因為Pod具有與VM等同的⽹絡待遇,讓VM與容器混合部署成為可能,也讓業(yè)務遷移到K8S更簡單。 

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

總結:使用UK8S,就是抓住未來

Kubernetes已經(jīng)發(fā)布整整5年了,但是Kubernetes還在飛速發(fā)展,絲毫沒有停下來的跡象,相反還在不斷攻城略地,Kubernetes就是現(xiàn)在明顯能抓住的未來。在Kubernetes落地過程中,網(wǎng)絡和監(jiān)控面臨很大挑戰(zhàn),也有很多解決方案。UCloud在云計算方面有將近十年的技術積累,推出的UK8S托管方案,如利劍出鞘,斬斷任何容器難題,讓用戶輕松步入容器時代,使用UK8S,就是抓住未來。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2015-08-10 14:41:39

Kubernetes監(jiān)控開源容器管理

2022-02-09 21:27:15

KubernetesDocker容器

2022-08-17 07:53:45

Overlay網(wǎng)絡數(shù)據(jù)中心

2010-09-17 10:04:36

2015-08-31 15:07:12

VDSLFTTH寬帶

2021-06-03 09:00:00

Kubernetes集群容器

2011-11-08 21:27:57

網(wǎng)絡監(jiān)控服務器監(jiān)控

2009-12-15 15:35:56

Ruby symbol

2010-10-21 14:41:43

無線產(chǎn)品無線路由飛魚星科技

2009-10-29 17:05:57

無線接入技術

2009-10-23 10:12:29

接入網(wǎng)技術

2010-12-14 11:46:55

職場

2011-04-01 16:40:00

2022-05-05 11:20:08

KubernetesDocker云計算

2024-03-04 07:47:06

KubernetesUnix系統(tǒng)

2009-10-21 10:03:36

綜合布線標準

2009-12-09 10:12:28

嵌入式Linux

2011-12-14 10:31:43

2017-09-27 16:23:53

點贊
收藏

51CTO技術棧公眾號