中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vSphere 7融合Kubernetes,構建現代化應用的平臺

發布時間:2020-08-18 22:00:10 來源:ITPUB博客 閱讀:189 作者:亨利筆記 欄目:云計算

vSphere 7融合Kubernetes,構建現代化應用的平臺   題圖攝于加州Monterey:太平洋的清晨


VMware 最新產品 vSphere 7 正式發布,致力于打造現代化應用平臺,備受用戶矚目和期待。本文帶你深入了解 vSphere 7 的原生 Kubernetes 功能,歡迎閱讀。(本文僅代表作者個人觀點。)


VMware 在去年 VMWorld 介紹了云原生組合 Tanzu 和太平洋項目(Project Pacific)。3月11日,VMware 發布了近10年來最重要的一個版本:vSphere 7,包含眾多的新功能。其中最引人注目的更新當屬在 vSphere with Kubernetes (VwK) 功能,原生支持 Kubernetes 平臺,實現了虛機和容器混合管理的能力,使 vSphere 成為全新的現代化應用開發運維平臺。


vSphere with Kubernetes, 即之前的太平洋項目,對 vSphere 進行了多項的重構,引入了 Kubernetes 的概念和架構,以應用為中心,讓開發人員和運維人員從不同的視圖使用系統,帶來里程碑式的革新。


VwK 在 VMware 公司內部已孕育了3年有多,目標深遠、工程浩大,Kubernetes 聯合創始人 Joe Beda 直接指導,上百名精英工程師投入研發,現在終于如約而至,重磅推出。


我們一起來看看 vSphere with Kubernetes 的細節吧。


vSphere 集群轉變成 Kubernetes 集群


vSphere with Kubernetes 是 vSphere 7 里面一個功能選項,管理員可在 vCenter 里啟用這個選項,然后可選擇 vSphere 集群激活 VwK 功能。


在啟用 VwK 后,vSphere 集群中會部署 3 臺虛擬機,每臺虛擬機部署 Kubernetes 的 Master 節點,組成高可用的本地控制平面 (Local Control Plane) ;接著在每個 ESXi 節點的內核運行一個 Kubelet 進程(稱作 Spherelet ),使 ESXi 成為 Kubernetes 的 Worker 節點。這樣改造之后,vSphere 集群華麗轉身成為支持現代應用 Kubernetes 集群。這個 vSphere 集群稱為 “Supervisor Cluster”(主管集群)。


vSphere 7融合Kubernetes,構建現代化應用的平臺

把 vSphere 集群轉變成 Kubernetes 集群


把 vSphere 集群轉換為 Kubernetes 集群的好處之一,就是系統服務可以跑在這個主管集群之上,使得系統服務的升級、重啟等生命周期管理可以依照 Kubernetes 的 Pod 方式進行,更加靈活;同時具備隔離性好,安全性高、HA保護等特性。


vSphere 7 提供的系統服務統稱為 VMware Cloud Foundation (VCF)服務。分為3類。

vSphere 7融合Kubernetes,構建現代化應用的平臺

主管集群的服務(*為實驗性功能,**為 roadmap 功能)


第一類是 Tanzu 運行時服務,主要包含 Tanzu Kubernetes Grid (TKG) 服務。TKG 服務用來管理用戶態的 Kubernetes 集群,稱作 Tanzu Kubernetes Cluster (TKC),可用于運行用戶的應用。TKG 在部署 TKC 集群之前,首先創建組成 TKC 集群的虛擬機,虛擬機啟動后,由預置在虛機模板里的 Kubeadm 程序部署 Kubernetes 節點。當所有虛擬機都成為 Kubernetes 節點時,集群部署完成。


第二類是混合基礎架構服務,提供 Kubernetes 所需要的基礎設施,如虛擬機、存儲、網絡、鏡像倉庫和 vSphere Pod 等。這些服務使 TKC 可以通過標準接口(如CNI, CSI等)訪問基礎設施資源。


第三類是定制服務,有合作伙伴或者用戶自行開發部署,其原理和前兩種相同。此次發布的 vSphere 版本暫時不支持這類服務,將在后續版本中提供。


VCF服務簡介(59秒 )


vCenter API 轉為 Kubernetes API


經上述重構之后的主管集群和 Kubernetes 集群已經有幾分形似了。要做到十全十美的神似,還有關鍵一步:支持 Kubernetes 的 API 。為此,VwK 對 vSphere API 進行了封裝和改進,向開發者呈現出 Kubernetes API 。


這個 vSphere 版的 Kubernetes API 可謂青出于藍,除了能管理 Pod 之外,還能夠管理 vSphere 的所有基礎設施資源,例如虛擬機、存儲、網絡、容器鏡像等。


這里的秘訣要歸功于 Kubernetes 的聲明式接口和 CRD (Custom Resource Definition)的擴展形式。基礎設施的資源可以用 CRD 表示,如上文中的網絡、存儲、TKC 等都有相應的 CRD。 


用戶只需要編寫 yaml 格式的文件(一種簡潔的文本文件),聲明所需要的 CRD 資源,通過 kubectl 命令即可創建和維護 vSphere 的資源了。

vSphere 7融合Kubernetes,構建現代化應用的平臺

用于創建虛擬機的yaml文件例子


熟悉 Kubernetes 的同學都知道,管理 CRD 資源一種較好的方法是通過 Operator 模式。Operator 實際上是運行在 Kubernetes 上的程序,負責管理特定 CRD 資源的生命周期。在 vSphere 的主管集群里面,運行著不少各施其職的 Operator,分別擔負起集群、虛機、網絡、存儲等資源的管理任務。


因為 Operator 是開源和開放的架構,合作伙伴還可以開發定制化的 Operator,實現更豐富的功能。后面還會提到。

 

增加 CRX 運行 vSphere Pod 


既然 vSphere 提供了 Kubernetes API,那么問題來了:vSphere能直接運行 Pod 嗎?答案是肯定的。(注:Pod 是 Kubernetes 特有的運行應用的最小單元,由一個或數個容器組成。)


在 vSphere 7中,ESXi 內置了一個容器運行時(runtime),稱作 CRX:Container Runtime for ESXi。CRX 運行 Pod 的時候,先創建一個虛機,然后在虛機內啟動一個微小的 Linux 內核,大約 20-30MB 的樣子。接著把容器鏡像的文件系統掛載到虛擬機之中,最后執行鏡像里面的應用。這樣就啟動了一個Pod 的應用。

 

用 CRX 運行的 Pod 是跑在一個輕量級虛擬機里面的,這個虛機稱作 vSphere Pod (之前稱為 PodVM)。vSphere Pod 是以虛擬機的方式產生,比基于 Linux  Container 的 Pod 隔離度更高,安全性更好。另一個好處是可以同時支持 Windows 容器,這點 Linux Container 無法實現。


vSphere 7融合Kubernetes,構建現代化應用的平臺

ESXi 原生 Pod 的架構


上圖黃色部分就是基于 CRX 的 vSphere Pod。在創建的時候, NSX 的 Kube Proxy 同步更新網絡,存儲 CNS 同步創建 VMDK 來綁定 vSphere Pod 需要的PV (Persistent Volume)。


大家對 vSphere Pod 是否有種似曾相識的感覺?沒錯,VMware 之前的產品VIC 和開源項目 Kata Containers 都采用過類似輕量級虛擬機加載容器的技術。經過幾年的積淀,已發展成為比較成熟的技術了。


參加過 VIC 項目的核心工程師,大都在 vSphere 7 里面繼續奮戰。VIC 支持的是Docker API 和單容器,相比之下,vSphere with Kubernetes 支持 Kubernetes API 和 Pod (可多容器)。


TKC 集群 (應用集群)


前面介紹的主管集群(supervisor cluster)可直接用 Kubernetes API管理 vSphere 的資源,可以運行 Pod。但是需要指出的是,主管集群的并不是完全兼容 Kubernetes API 的,例如 privilege(特權) pod 在主管集群里面就不能使用。其次,主管集群的 Kubernetes 版本是相對固定的,不太可能頻繁升級。還有一點,主管集群在每個 vSphere 集群里只有一個,多租戶的場景中無法使用不同版本的 Kubernetes。


vSphere 7融合Kubernetes,構建現代化應用的平臺

TKC集群


為此,VwK 提供了 Tanzu Kubernetes Cluster (TKC) 集群,由前文所述的 TKG 服務管理。簡單的說,就是部署在虛機里的 Kubernetes 集群,并且符合 CNCF的一致性 (Conformance)認證標準,可以兼容運行在 Kubernetes上的應用。TKC 集群可直接使用內置于主管集群中的 VCF 服務,可以很便捷地獲取 Load balancer,PV 等資源。


TKG 服務采用了 Kubernetes 社區的 Cluster API 開源項目。Cluster API 體現了“用 Kubernetes 管理 Kubernetes ” 的思想,即用戶把需要創建的集群規范以 CRD 的形式提交給一個 Kubernetes 管理集群,該管理集群根據 CRD 去維護目標集群的生命周期。Cluster API 以 provider 的方式支持多種云服務商。在 vSphere 7 中,主管集群Supervisor Cluster就是管理集群,而且只有 vSphere provider。 

vSphere 7融合Kubernetes,構建現代化應用的平臺

Cluster API:用K8s管理K8s


Namespace (命名空間)應用視圖


命名空間要點(58秒視頻)


之前提到,VwK 為應用提供了單獨的視圖,稱作 Namespace(命名空間)。Namespace 是計算機科學里廣泛使用的概念,用來區分不同的邏輯功能或實體,如編程語言里面的 namespace ,Linux 的 namespace,容器 registry 里面的 namespace 等等。VwK 在主管集群中借鑒并擴展了 Kubernetes 劃分虛擬集群的概念 namespace 。


vSphere 7融合Kubernetes,構建現代化應用的平臺

Namespace 和主管集群、SDDC 的關系


Kubernetes 的 namespace 對應用做了邏輯上的隔離,形成虛擬集群,優點是每個 namespace 可以單獨設置資源管理策略,如統一控制網絡訪問策略。


VwK 在主管集群中增設了namespace ,可以包括容器、虛擬機和 vSphere Pod 等資源。應用所需的資源,如 Pod 和虛擬機等,都收納于一個 namespace 之下。由于 Namespace 是面向應用的邏輯單元,只需要對 namespace 配置 Quota, HA, DRS,網絡、存儲、加密和快照等策略,就可以對應用的所有虛擬機和 Pod 等資源進行管控,大大方便了運維管理。

 

vSphere 7融合Kubernetes,構建現代化應用的平臺

用戶界面上的 namspace(左側導航欄)


從技術實現的角度看,當管理員創建 namespace 的時候,vSphere 自動在后臺創建一個對應的資源池 (Resource pool),對應著 namespace里的所有資源。之后對 namespace 的管控實質上都是轉化為資源池的操作。

vSphere 7融合Kubernetes,構建現代化應用的平臺

Namespace由 Resource pool支持


Namespace 是 VwK 的一項創新,定義了管理員和開發人員的邊界,實現面向應用的管理,提高了新應用的開發效率。管理員在 vCenter 創建 namespace 后,可交給開發人員使用。開發人員用 Kubernetes API 在 namespace 中創建應用所需虛擬機、vSphere Pod,或者 Kubernetes 集群 (TKC 集群)等資源,不再需要管理員的介入。管理員只需要管理好 namespace 的資源策略,即使開發團隊在里面呼風喚雨,翻天覆地,管理員也可高枕無憂了。


內置 Harbor Registry


Harbor Registry 中國用戶一定不會陌生,VwK 的鏡像倉庫服務由 Harbor 開源鏡項目提供,確保鏡像安全和提高性能。當創建 namespace 時,會同時建立一個 Harbor 的項目與其對應,提供該 namespace 下的鏡像服務。這個設計理念我們團隊已經構思很久,現在終于體現在 vSphere 里面了。

 

萬事皆服務


Kubernetes 的聯合創始人 Joe Beda 說過一句經典的話:“ Kubernetes 是平臺的平臺,可以用來構建新的平臺”。這句深刻地闡明了 Kubernetes 創建者對產品的定位和設計理念。Kubernetes 不僅可管理容器編排服務,還可以通過擴展,管理其他服務,如數據庫、函數服務、人工智能服務等等。


這個理念在 vSphere with Kubernetes 里面得到了充分體現:vSphere 平臺可以構建各類服務( XXX as a Service )。我們只需在主管集群里面部署特定服務的 Operator ,就可以用該 Operator 運維相應的服務。

vSphere 7融合Kubernetes,構建現代化應用的平臺

主管集群成為控制平面,可管理各種服務


上面提到的 TKC 集群實質上就是 Kubernetes as a Service,它的 Operator 已經內置在主管集群中。同樣的,我們也可以部署 VM as a Service, MySQL as a Service 等服務的 Operator,達到管理這些服務的目的。


Operator 是開放架構,合作伙伴可以開發出各類功能的服務,并且部署和運行在主管集群中,這將使得圍繞 vSphere 的生態系統百花齊放,成為名副其實的“平臺的平臺”。

 

vSphere with Kubernetes 使 vSphere 蛻變成改變游戲規則的新一代現代化應用平臺,無疑是VMware Tanzu 組合中最閃亮的組件。


VMware 本次新產品發布還包括 Tanzu 套件,VCF 4等產品。大家可關注官網,或者留意筆者后續的文章介紹。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷山县| 应用必备| 永和县| 乌兰浩特市| 塘沽区| 七台河市| 东乌| 玉溪市| 德江县| 林西县| 永修县| 且末县| 柳林县| 阳春市| 屯昌县| 义乌市| 天长市| 邵武市| 台州市| 准格尔旗| 农安县| 徐汇区| 鄂托克前旗| 余干县| 泰宁县| 兴和县| 江油市| 东至县| 永和县| 荔波县| 霍山县| 西和县| 淮阳县| 疏附县| 庆元县| 巴楚县| 伊金霍洛旗| 德钦县| 衡水市| 木里| 新密市|