• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 專(zhuān)家觀(guān)點(diǎn) >

    OpenStack+K8S為何是絕配

    --最新培訓PPT視頻

    2017-07-11 14:30:43   作者:王后明   來(lái)源:開(kāi)源云中文社區   評論:0  點(diǎn)擊:


      2017中國開(kāi)源產(chǎn)業(yè)峰會(huì )暨第21屆中國國際軟件博覽會(huì )分論壇 
     6月28日,2017中國開(kāi)源產(chǎn)業(yè)峰會(huì )暨第21屆中國國際軟件博覽會(huì )分論壇在北京隆重開(kāi)幕。此次峰會(huì )由軟博會(huì )組委會(huì )指導,北京市軟件與服務(wù)業(yè)協(xié)會(huì )和EasyStack聯(lián)合主辦。工業(yè)和信息化部信息化和軟件服務(wù)業(yè)司副司長(cháng)李冠宇、北京市經(jīng)濟和信息化委員會(huì )委員姜廣智出席并致辭。
      基于Kubernetes構建企業(yè)級容器云平臺視頻支持:IT大咖說(shuō)
      以“開(kāi)源、智能、未來(lái)”為主題,此次峰會(huì )特別聚焦開(kāi)源容器技術(shù)領(lǐng)域,邀請了Linux基金會(huì )全球副總裁、CNCF COO Chris Aniszczyk到場(chǎng)進(jìn)行主題演講,在峰會(huì )特別打造的開(kāi)源云核心技術(shù)培訓專(zhuān)場(chǎng)中,來(lái)自EasyStack的容器架構師王后明作了題為基于Kubernetes構建企業(yè)級容器云平臺的培訓演講,以下是他的演講內容整理+PPT:
      EasyStack容器架構師王后明
      大家下午好,開(kāi)場(chǎng)之前先做個(gè)簡(jiǎn)單的小調查。在座的各位如果用過(guò)OpenStack的請舉一下手,大部分都用過(guò)。那用過(guò)容器或者用過(guò)docker的有哪些同學(xué)?今天下午我分享的話(huà)題是基于Kubernetes構建企業(yè)級的容器云平臺,整個(gè)分為三個(gè)大部分,首先我們簡(jiǎn)單對比容器和虛擬機兩個(gè)之間的差異性,有一些特征,優(yōu)勢和劣勢。第二我們看一下容器云平臺在建構的時(shí)候需要面臨哪些問(wèn)題,第三可以看一下容器云平臺的典型應用場(chǎng)景。
      首先看一下容器和虛擬機的區別,這個(gè)圖大家都是比較清楚。容器其實(shí)是對操作系統的封裝,把所有的應用和它對應的運行時(shí)封裝在一個(gè)容器里面,然后以快速的容器進(jìn)行的方式發(fā)布上線(xiàn)應用,這是容器的主要作用。虛擬機是相反,它是相對于容器來(lái)說(shuō)是更重量級的虛擬化技術(shù),本身是對物理硬件的虛擬,把整個(gè)一套CBO、IO存儲系統整個(gè)虛擬化出來(lái),也有相應的應用軟件在里面,這是容器和虛擬機兩個(gè)最大的差異,一個(gè)是虛擬層級不一樣,一個(gè)是在操作系統的虛擬,一個(gè)是對物理硬件的虛擬,這樣所帶來(lái)的差異就是說(shuō)容器相對于虛擬機來(lái)講更輕量級,密度可以更能讓真正的硬件更好的發(fā)揮它的最大的資源利用率,這是它兩者之間的一個(gè)差異。
      從這邊我們可以看到其實(shí)這個(gè)截圖是來(lái)自于官方對容器的介紹頁(yè)面,其實(shí)官方推薦我們對容器使用方式是說(shuō)讓容器和虛擬機在一起,就是說(shuō)把容器運行在虛擬機之內,這樣的話(huà)能讓?xiě)玫牟渴鸷凸芾砀臃奖愫透咝АF鋵?shí)容器技術(shù)產(chǎn)生以后,真實(shí)的部署場(chǎng)景其實(shí)在國外是最先興起的,但是國外大部分百分之八九十的容器都是在云平臺上,所以說(shuō)容器和虛擬機其實(shí)它更多的不是一個(gè)相互替代的技術(shù),它更多的是兩者之間結合來(lái)共同的為企業(yè)運行空間里面來(lái)支撐下一代的運營(yíng)的基礎設施。這個(gè)是官方推薦的容器和虛擬機的一個(gè)最佳的組合方式。
      這邊我們可以簡(jiǎn)單看一下跟容器相關(guān)的一個(gè)生態(tài)圈的情況。上午這個(gè)圖已經(jīng)見(jiàn)到了,這邊我和大家簡(jiǎn)單再說(shuō)一下。CNL是一個(gè)面向基金會(huì )的,他可以囊括的項目非常多,除了底層的基礎架構這一層項目他不去管理之外,再往上包括移動(dòng)、定義和部署這一層,這幾層有非常多的優(yōu)秀開(kāi)源項目,這些開(kāi)源項目一旦成熟了之后其實(shí)都有可能對他們進(jìn)行內存管理。目前這個(gè)基金會(huì )托管項目一共有10個(gè),這個(gè)都是相對比較多。運行時(shí)就是當前運行時(shí)在還是應用Docker來(lái)管理虛擬機和容器,從下一個(gè)版本開(kāi)始,其實(shí)可能在一些里面運行時(shí)可能就會(huì )被代替COA,就是官方的標準容器。
      接下來(lái)我們看一下為什么要把OpenStack和Kubernetes結合在一起來(lái)構建我們的容器的云平臺。首先OpenStack跟Kubernetes兩個(gè)為什么結合在一起?其實(shí)主要的一個(gè)原因就是說(shuō)OpenStack它更多的是以基礎資源作為中心,其實(shí)比較擅長(cháng)的是管理數據中心里面的像網(wǎng)絡(luò )設備、存儲設備,各種交換機,其實(shí)更多比較擅長(cháng)底層的基礎設施。Kubernetes相反,它更多的專(zhuān)注于應用層的開(kāi)發(fā),以應用為中心,更多的是關(guān)注用戶(hù)更快速的把這個(gè)應用從開(kāi)發(fā)到部署上線(xiàn),專(zhuān)注于創(chuàng )新型云原生應用的交付和管理。
      我們把它們兩者結合起來(lái),就是說(shuō)使兩者之間1+1大于2,把兩者之間優(yōu)勢互補,就是底層的基礎設施管理交給OpenStack來(lái)做,上層的云原生應用的交付和管理來(lái)做,兩者相互互補,加速應用交付,助力業(yè)務(wù)創(chuàng )新。這是OpenStack和Kubernetes融合的一個(gè)最大的理念,就是它們兩者之間所擅長(cháng)的時(shí)間并不一樣,但是關(guān)注點(diǎn)各有不同。
      接下來(lái),我們會(huì )從OpenStack跟Kubernetes融合所具體的一些詳細的結構來(lái)跟大家分享一下。
      第一部分就是說(shuō)OpenStack和Kubernetes云平臺架構,最底層我們涉及到OpenStack和Kubernetes兩者之間的融合,所以最底層是以OpenStack作為企業(yè)級的云平臺,來(lái)管理里面的計算資源、網(wǎng)絡(luò )資源、存儲資源等等,把這些資源形成池化,池化之后再把這些已經(jīng)虛擬化的資源交給一個(gè)核心的容器管理集群,這樣我們可以在OpenStack所管理出來(lái)的虛擬機或者是物理機之上來(lái)創(chuàng )建我們的容器集群,這樣就是說(shuō)我們容器集群跟OpenStack這個(gè)環(huán)境是可以使用到統一到網(wǎng)絡(luò )和統一的存儲。統一的網(wǎng)絡(luò )在后面我們也會(huì )細說(shuō),統一的網(wǎng)絡(luò )就是說(shuō)因為OpenStack網(wǎng)絡(luò )組件是OA,Kubernetes里面對應的網(wǎng)絡(luò )組件也有很多的解決方案,如果沒(méi)有跟OpenStack這個(gè)平臺融合,它的網(wǎng)絡(luò )問(wèn)題就是說(shuō)在虛擬化再之上,再有一層OA網(wǎng)絡(luò ),兩層OA會(huì )帶來(lái)網(wǎng)絡(luò )系統的損失。
      另外就是兩者之間相當于是多層網(wǎng)絡(luò )底層網(wǎng)絡(luò )其實(shí)是一個(gè)黑盒,運維管理起來(lái)管理管理的話(huà)相對于比較復雜,所以我們讓Neutron作為一個(gè)統一網(wǎng)絡(luò )管理組件,這樣把Neutron管理的這些原有的比如說(shuō)企業(yè)級的硬件設備交換機,能很好的把網(wǎng)絡(luò )能力傳遞給容器平臺,能更好的讓我們的容器應用用到這些傳統的網(wǎng)絡(luò )設備,這些網(wǎng)絡(luò )設備的支持包括后面存儲設備的支持,其實(shí)在容器生態(tài)領(lǐng)域是相對比較薄弱的環(huán)節,這是統一網(wǎng)絡(luò )。
      統一存儲是說(shuō)當前存儲能力比較弱,沒(méi)有像Cinder一樣這么豐富的對接這么高端的商業(yè)存儲,容器里面基本沒(méi)有做到,很少有存儲廠(chǎng)商再為Kubernetes對應一個(gè)存儲。如果我們企業(yè)里面已經(jīng)有商業(yè)化存儲,已經(jīng)有這樣一個(gè)存儲設備,同時(shí)我要把這個(gè)設備非常方便的給這個(gè)容器來(lái)用,這個(gè)時(shí)候基本上很難用到,我們把兩者結合起來(lái),用Cinder作為統一的整個(gè)大平臺的管控中心,把存儲能給虛擬化的應用來(lái)用,又能給容器來(lái)用,這個(gè)是OpenStack跟Kubernetes平臺結合的一個(gè)最大的特點(diǎn),相比于運行于裸機或者是運行在公有云上或者私有云平臺上最大的一個(gè)亮點(diǎn)和特點(diǎn),后面我們會(huì )有詳細的片子來(lái)跟大家分享。再網(wǎng)上就是我們的企業(yè)級容器云平臺包括鏡像管理、持續集成、持續部署、應用管理、容器集群管理,后面有更詳細的講解,我們有統一的管理界面,然后也有統一的編排,還有統一的支持OpenStack虛擬化應用和統一應用中心,我們可以讓整個(gè)云平臺的租戶(hù)管理、監控告警、日志管理都可以達到最高要求。企業(yè)級的OpenStack平臺也是計算機資源管理、網(wǎng)絡(luò )資源管理、存儲資源管理。
      這邊是容器云平臺功能模塊,后面有更詳細的我就不仔細講了。然后我們可以看一下技術(shù)棧,OpenStack大家比較清楚。Kubernetes跟OpenStack的差別是Kubernetes本身它只是容器編排,并沒(méi)有像OpenStack那么豐富,如果只用Kubernetes,其實(shí)你離把容器真正運用到生產(chǎn)上面還有很長(cháng)的一段路要走,整個(gè)我們構建容器云平臺的一個(gè)技術(shù)棧就是包括以Kubernetes為核心的一個(gè)容器調度和資源管理者的引擎。在核心的引擎之外我們集成了很多容器或者一些應用一些技術(shù)組件,比如我們采用Harbor作為容器鏡像中心,目前還是采用Docker作為容器運行時(shí),底層的SDN和SDS統一的用Neutron還有Cinder作為容器和OpenStack平臺的統一存儲和統一管理平臺。最底層的容器操作系統主要是跑容器化的Kubernetes應有,可以更好更安全的來(lái)支撐容器化的應用。
      再上面是功能模塊,這個(gè)分為幾大部分,DevOps、應用管理和運維管理,這個(gè)不詳細說(shuō),下面會(huì )有詳細介紹。這是功能模塊所涉及到的一些技術(shù)棧。
      然后這邊是應用管理的方式,大家都知道Kubernetes里面應用管理的功能相對是比較弱的,它本身其實(shí)是沒(méi)有一個(gè)應用管理的概念。現在是有像him應用商店應用管理在里面,但是應用商店如果你從開(kāi)發(fā)到運維上線(xiàn)的過(guò)程來(lái)說(shuō),對于Kubernetes來(lái)說(shuō)涉及到交付和迭代比較多,復雜度也是比較高多,這樣的話(huà)我們是針對應用商店比較難以使用的情況,我們封裝了一層簡(jiǎn)單的應用,這樣為了讓運維更加方便。第一我們可以從鏡像倉庫封裝我們自己的應用來(lái)部署,同時(shí)支持編排模板,也就是說(shuō)我們可以用可視化的方式把整個(gè)容器應用編排成一個(gè)模板,這樣我們不需要更多的去編寫(xiě),也就是說(shuō)我們可以通過(guò)托代系統方式來(lái)交互和維護這種應用。同時(shí)我們可以在后續支持以應用商店的方式來(lái)交互我們的云應用,這是應用管理的一些在原生基礎上的一些情況。
      這是是Kubernetes的關(guān)鍵特性,這邊列了幾個(gè)點(diǎn)第一個(gè)Autoscaling是說(shuō)我們可以設置一個(gè)預值,可以彈性的把這個(gè)應用進(jìn)行伸縮。第二個(gè)灰度升級,就是我們應用如果上線(xiàn)比較頻繁的話(huà),我們可以采用滾動(dòng)更新的方式讓?xiě)猛瑫r(shí)在不斷線(xiàn)的情況下完全升級。服務(wù)發(fā)現是說(shuō)我們如果把一個(gè)大的系統拆成一個(gè)小的移動(dòng)的話(huà),服務(wù)之間肯定要有一套完整的發(fā)言機制,因為容器的網(wǎng)絡(luò ),容器的IP變化非常頻繁,因為不停地會(huì )創(chuàng )建項目,這樣就有一個(gè)比較完整的服務(wù)發(fā)現的機制,我們也是把Kube-DNS這一套插件引入到整個(gè)容器平臺,為各種應用來(lái)提供服務(wù)方向的機制。
      后面的ConfigMap比較好理解,就是配置管理,這種配置在容器應用里面也是通過(guò)對應的組件來(lái)管理應用。Secret也是涉及到比如數據庫要提供給其他的應用來(lái)消費,這個(gè)時(shí)候你基本上是避免明文的傳輸,這個(gè)時(shí)候我們建立一個(gè)Secret來(lái)管理密碼,這種東西主要是私秘的對象管理。健康檢查就是一般容器如果規模上億之后我們很難對容器做單個(gè)容器的一個(gè)管理,這個(gè)時(shí)候對容器的健康檢查比較重要,也就是說(shuō)我們可以在應用里面設置他健康檢查點(diǎn),可以設置比如容器的某一個(gè)端口,判斷這個(gè)容器是不是在正常的提供服務(wù),如果不正常的話(huà),會(huì )把不健康的容器進(jìn)行干掉,重新啟動(dòng)比較健康的容器。負載均衡就是說(shuō)容器在負載運行,這個(gè)時(shí)候如果沒(méi)有負載均衡的話(huà)。
      另外故障自愈因為系統組件本身就是恢復化的管理。持久化存儲就是說(shuō)Kubernetes里面提供了一套持久化存儲的機制,我們很容易把這些組件接入上來(lái)為Kubernetes容器化存儲提供能力。集群高可用比較好理解。
      接下來(lái)我們可以看一下拿OpenStack和Kubernetes平臺兩者結合在一起能解決一個(gè)問(wèn)題就是它支持兩層的彈性伸縮,我們知道如果僅僅是Kubernetes的話(huà),它所涉及到的事情就是我們一旦是發(fā)現哪一個(gè)容器負載過(guò)高,我們可以把負個(gè)數量提升到3或者到5或者到10。如果我們對應的Kubernetes平臺是運行在物理機上,峰值非常高的時(shí)候,所有的物理機負載壓力都非常高,這個(gè)時(shí)候你想要擴一臺物理機到容器里面去是非常困難的事情,如果把OpenStack加上Kubernetes融合在一起,因為OpenStack加上Kubernetes是非常快的,我們可以做到兩層的彈性伸縮。
      所以說(shuō)第一級的時(shí)候如果容器本身它的壓力負載過(guò)高我們可以對容器本身的應用本身維度進(jìn)行彈性伸縮,這樣的話(huà)整個(gè)平臺變得非常靈活,能更好的來(lái)應對高并發(fā)的比如說(shuō)618,或者天貓雙十一都肯定需要這種雙層彈性支撐,來(lái)突然的面對這種高并發(fā)壓力。
      這邊可以看一下監控告警,因為Kubernetes本身內制有hmts,我們是把OpenStack加進(jìn)來(lái)之后,監控告警相對比較完善。就是可以支持多維度的監控,包括容器,容器從大的方面就是包括容器維度,包括容器節點(diǎn)維度,包括整個(gè)集群的狀態(tài)都可以監控到。到容器里面,其實(shí)對于容器的CPU內存,網(wǎng)絡(luò ),其實(shí)都可以監控到,節點(diǎn)維度也是這樣,它整個(gè)可以監控不僅僅是容器維度進(jìn)行監控,同時(shí)在容器節點(diǎn)本身,如果CPU、內存處于壓力鍋大的話(huà),也可以被監控工具來(lái)監控到。監控到之后可以通過(guò)我們提前設置的這些預值,如果達到這個(gè)預值之后,可以進(jìn)行告警信息狀態(tài),同時(shí)讓管理人及時(shí)發(fā)現整個(gè)系統的負載壓力情況。同時(shí)告警信息可以對接企業(yè)里面的系統,比如通過(guò)郵件或者是短信的方式通知到運維人員來(lái)及時(shí)處理系統的高壓情況,這個(gè)是監控報警的特性。
      日志的搜集和存儲的功能點(diǎn),Kubernetes里面只能看到單個(gè)戶(hù)的里面的容器,它并沒(méi)有對容器日志進(jìn)行歸類(lèi),日志統一檢索這些功能都沒(méi)有。如果一旦把應用拆分了之后肯定涉及到很多應用同時(shí)在運行,如果我們只是單個(gè)來(lái)做其實(shí)并沒(méi)有辦法很好的幫我們定位和解決問(wèn)題。這時(shí)候就需要有一個(gè)日志搜集和管理系統來(lái)幫我們管理這些問(wèn)題,我們也是基于整個(gè)方案來(lái)實(shí)現這個(gè)日志搜集和管理的功能,這就是日志管理。
      接下來(lái)看一下網(wǎng)絡(luò ),前面我們提到網(wǎng)絡(luò )其實(shí)是OpenStack和Kubernetes平臺融合的時(shí)候最重要的一個(gè)特性之一。我們看到現在的容器網(wǎng)絡(luò )方案存在的一些問(wèn)題,從成熟度來(lái)講與OpenStack中生產(chǎn)級別的Neutron網(wǎng)絡(luò )相比,現有的容器網(wǎng)絡(luò )解決方案,如Flannel、Veave等的成熟度還有一定欠缺,特別是國內容器剛剛興起,大家普遍的大規模的使用還不是太多,如果用的話(huà)其實(shí)也是對容器現有的方案有一些改造,沒(méi)有多少是直接用容器里面的某個(gè)方案的。所以從成熟度來(lái)說(shuō)沒(méi)有OpenStack這種平臺成熟。
      第二就是嵌套Overlay網(wǎng)絡(luò ),性能損耗、延遲、管理、調試復雜度。這個(gè)是現有容器一些問(wèn)題,我們采用Neutron統一管理容器平臺和OpenStack平臺的網(wǎng)絡(luò ),網(wǎng)絡(luò )架構扁平化實(shí)現容器與容器之間,以及容器與虛擬機之間的直連,引入高級網(wǎng)絡(luò )特性,可將Neutron的高級特性引入容器網(wǎng)絡(luò )中,諸如安全組、FloatingIP、QoS、LBaaS、FWaaS、VPNaaS等,來(lái)更好的管理容器的網(wǎng)絡(luò )。這邊是容器網(wǎng)絡(luò )的一些存在的問(wèn)題和我們的一些優(yōu)勢。
      這邊是具體的容器網(wǎng)絡(luò )和OpenStack網(wǎng)絡(luò )兩者之間的一個(gè)交匯架構。它最大的思路就是說(shuō)我們以Kuryr作為控制器,這個(gè)時(shí)候Kuryr對應的從Neutron這邊對應Port、Network,這樣的話(huà)就是達到OpenStack和Kubernetes兩者之間的網(wǎng)絡(luò )組件的流通。
      我們接下來(lái)再看一下Neutron LB作為容器外部負載均衡器,Neutron LB作為容器集群外部負載均衡器支持L4/L7層負載均衡、支持應用會(huì )話(huà)保持、自動(dòng)鍵控隔離不可用節點(diǎn)、支持資源池動(dòng)態(tài)擴縮。
      這個(gè)是OpenStack和Kubernetes結合非常重要的一個(gè)優(yōu)勢,或者說(shuō)我們可以把企業(yè)里面已經(jīng)有的開(kāi)源式分布式存儲,或者是第三方雙向存儲,比如說(shuō)EMC的存儲設備,IEM的存儲設備,這些存儲設備在QoS里面沒(méi)有很好的驅動(dòng)去管理的,把OpenStack平臺引進(jìn)進(jìn)來(lái)之后,就可以利用豐富的移動(dòng)存儲進(jìn)行虛擬化,再把這個(gè)存儲提供給容器化的應用,這邊是兩者之間融合存儲的一個(gè)優(yōu)勢。
      另外可以看一下多租戶(hù)隔離問(wèn)題,在OpenStack里面多租戶(hù)隔離特性增強容器安全隔離性,每個(gè)OpenStack租戶(hù)可單獨創(chuàng )建并管理Kubernetes集群。也就是說(shuō)我們的應用是很容易的就能相互干擾,我們利用OpenStack和Kubernetes的特性,每個(gè)租戶(hù)里面都有一個(gè)容器集群,這樣的話(huà)能針對同一個(gè)業(yè)務(wù),讓每一個(gè)業(yè)務(wù)能避免相互之間的干擾。
      最后一部分可以看一下典型的應用場(chǎng)景,這個(gè)可能大家也比較熟悉。第一個(gè)就是說(shuō)像6·18,雙十一高流量,同時(shí)有比較大峰值的波動(dòng)的話(huà),通常比較適合這種輕量級的產(chǎn)品。像京東,大家也可以看到京東的分享。這邊就是很好的支持微服務(wù)的改造,這個(gè)也是組大的一個(gè)使用場(chǎng)景。最后一個(gè)收益就是說(shuō)我們除了這個(gè)容器,我們融合架構可以帶來(lái)異構平臺統一管理、資源統一調度、提升安全性,這個(gè)是我們所帶來(lái)的一些優(yōu)勢。今天的分享就到這邊,謝謝大家!

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 吉首市| 西峡县| 东阿县| 富阳市| 沙坪坝区| 双城市| 临沂市| 淅川县| 新龙县| 喜德县| 龙游县| 历史| 女性| 滁州市| 宁河县| 阳春市| 和龙市| 临汾市| 永川市| 镇巴县| 苏尼特右旗| 南阳市| 大余县| 四川省| 鄯善县| 山西省| 垦利县| 洪湖市| 东至县| 敦化市| 大名县| 措勤县| 高碑店市| 镇巴县| 惠安县| 舒兰市| 武安市| 遂宁市| 雅安市| 枣强县| 新蔡县| http://444 http://444 http://444 http://444 http://444 http://444