近年來,容器技術的發展呈火爆態勢,各行業的應用系統都在向容器化、微服務化的現代化的應用架構發展,以構建快速發布、彈性擴展的平臺及應用系統。在CNCF對云原生的定義中,概括了具有代表性的技術包括容器、服務網格、微服務、不可變基礎設施和聲明式API。
昆侖聯通緊跟行業趨勢,幾年前就開始在云原生領域投入技術資源。當前,公司擁有由多名CKA認證的工程師及CNCF社區貢獻者組成的開發團隊,可面向企業用戶提供完整的企業級PaaS平臺解決方案,以及應用容器化改造、DevOps體系建設咨詢、CI/CD流程建設咨詢、容器平臺規劃部署以及培訓等服務,幫助企業更快速、更高效的實現容器技術的落地。
近年來,昆侖聯通落地了很多容器相關的案例,客戶涵蓋車企、金融等各個行業,不僅提供了從咨詢、實施到運維的一整套解決方案,而且真正幫助客戶簡化了容器技術的落地。
本次VMware新產品-vSphere 7的目標是打造一個同時支持傳統應用和現代化應用的統一管理平臺。昆侖聯通依托強大的云原生團隊以及多年容器經驗,第一時間對vSphere 7做了測試,F針對vSphere 7的架構調整和功能應用, 昆侖聯通首席云原生架構師為我們做了如下詳細解讀!首先我們先來看看vSphere 7都有哪些功能!
開放vSphere給更多的用戶
在以往的IaaS平臺管理中,主要是以運維團隊向外交付虛擬機,應用管理者或開發人員基于虛擬機部署應用、數據庫或Kubernetes集群,造成了管理上的分散和復雜性。
在vSphere7中專門為研發人員提供了管理平面,使研發人員以自服務的形式申請資源,可以對包括虛擬機、kubernetes集群或者是數據庫服務等資源的統一申請和管理,更像是在使用一個公有云平臺。運維人員則負載底層架構、安全性和可用性的管理。通過這種方式,使開發和運維人員能夠在一個統一的平臺上協作,避免了管理上的孤島。
vSphere管理員
管理員可以在群集上創建包含內存、CPU和存儲等資源的 namespaces并將這些 namespaces 提供給DevOps工程師;可以使用與常規VM相同的工具來管理和監視vSphere Pods和Tanzu Kubernetes群集;可以完全了解在不同 namespaces 中運行的vSphere Pods和Tanzu Kubernetes群集,以及它們在環境中的位置以及資源的消耗情況。
DevOps工程師
工程師可以在同一個平臺上運行包含容器和VM的工作負載,并在namespaces中使用共享資源池。容器可以在vSphere Pod的特殊類型VM內運行,可以使用 VMware Tanzu 服務在一個 namespace 內創建和管理多個Kubernetes集群,并管理其生命周期。
在vSphere中以聲明式交付所有資源
正如在上文中提到的,CNCF對云原生的定義中包含聲明式交付。在vSphere 7的架構中,正是以種聲明式的交付向用戶提供資源。
從上圖中可以看出,vSphere with Kubernetes 平臺可以向用戶提供 Kind 為 Pod 的 工作負載,當然這是Kubernetes本身就具有的基本功能,特別的地方在于 vSphere 7 使用Kubernetes的擴展機制,在原生的Kubernetes上擴展出更多的功能,這使vSphere管理員可以直接以聲明的方式向用戶提供一整套Kubernetes Cluster、Virtual Machine 以及 Database等。
通過這種形式,很好的解決了當前企業IT架構中,多種平臺混合管理的復雜性,將虛擬機、數據庫、應用以及Kubernetes集群歸納到一個平臺進行統一管理。
以應用為邊界進行管理
在以前的vSphere的管理模式中,是以單個虛擬機為管理單位,例如在對應用進行安全配置時需要對找到該應用所對應的VM和容器,一 一進行安全策略配置。為了簡化管理的復雜性,在新的vSphere中提出了一個新的管理上邏輯層“應用”。在一個“應用”范圍內可以包括虛擬機、Kubernetes集群、容器、數據庫等。
vSphere 7 中可以以“應用”為管理邊界,對整個應用范圍進行資源配額、安全、可用性以及訪問控制,策略的配置可以自動適配到“應用”范圍內的所有資源,大大減化運維人員的管理工作。
通過以上幾點,我們了解到了VMware vSphere 7給用戶帶來了一個全新的、現代化的應用管理平臺。這個平臺可以以“應用”為管理范圍,讓運維和開發人員參與其中,同時對多種類型的資源進行管理。
為了更好的理解vSphere 7,接下來我們了解一下 vSphere 7 的整體架構。
vSphere with K8S General Architecture
在vShpere with Kubernetes 上啟動的集群稱為主管集群(Supervisor Cluster),主管集群運行在ESXi計算節點之上,使用NSX-T網絡、vSAN或其它共享存儲解決方案。共享存儲可用于vSphere Pods的持久卷,可以在Supervisor Cluster中運行VM,或創建Tanzu Kubernetes集群。
Supervisor Cluster Architecture
Kubernetes control plane VM:在啟動Supervisor Cluster時會創建三個K8S Contorl Plane VM,這三個虛擬機實現負載均衡,vSphere DRS負責這三個虛擬機調度,在必要時進行自動遷移。vSphere DRS在K8S Contorl Plane VM中與Kubernetes Scheduler集成,當部署Pods時,Kubernetes Scheduler將工作流發送給DRS,由DRS完成調度。
在Supervisor Cluster的ESXi主機上會自動啟動Spherelet,從名字上就可以看出Spherelet是從Kubernetes 的 kubelet移植過來的,可以讓ESXi主機成為Kubernetes集群的一部分。
CRX:Container Runtime Executive,CRX中包含一個專門用于運行容器的Linux內核,CRX在啟動時使用直接引導技術,在不進行內核初化的情況下直接啟動nit過程,這使vSphere Pods的啟動速度幾乎與容器一樣快。CRX與VM類似使用相同的硬件虛擬化技術,并且在CRX周圍具有與VM相同的安全邊界,
VM服務、Cluster API、Tanzu都是在Supervisor集群上運行的模塊。
Supervisor Namespace
Namespaces可以定義資源的邊界,并將其分配給租戶進行管理。在Supervisor Cluster中可以創建多個Supervisor namespace并可以在Supervisor namespace中使用 Tanzu Kubernetes Grid服務創建vSphere Pods 和 Tanzu Kubernetes Cluster。
vSphere Pods
vSphere Pod 相當于 Kubernetes pod。vSphere Pod是具有較小占用空間的VM,可運行一個或多個Linux容器。每個vSphere Pod的大小都根據其可容納的工作負載精確的確定大小,并具有針對該工作負載的資源預留及分配運行工作負載所需的CPU、內存和存儲資源。
vSphere pods 的功能包括:
強隔離
每個vSphere Pod都有一個基于Photon OS 的 Linux內核,該內核提供Pod與vCenter Server中其他工作負載和對象的隔離,以保證安全性;
資源管理
使用vSphere DRS 在 Supervisor Cluster 中調度 vSphere Pod;
高性能
低開銷和快速啟動;
診斷程序
管理員可以對工作負載進行監視和檢查。
vSphere Pods Networking and Storage
vSphere Pods根據所存儲的對象使用三種類型的存儲
臨時VMDKs
持久卷VMDKs
容器鏡像VMDK
vSphere管理員可以在Supervisor Cluster 級別配置存儲策略,在Namespaces級別配置存儲策略可以放置持久卷和Tanzu Kubernetes群集的VM。
對于網絡,vSphere Pods和VM通過Tanzu Kubernetes Grid Service創建的Tanzu Kubernetes群集使用NSX提供的拓撲。
最后,我們可以看到一個更完整的架構圖,一個基本 vSphere 7 的現代化的應用平臺——“vSphere with Kubernetes”。
Tanzu Kubernetes Clusters
本文轉載自:昆侖聯通,如有侵權請聯系站長刪除。
推薦閱讀:
深圳聯通寬帶、太原聯通寬帶、中山聯通寬帶、松原聯通寬帶、煙臺聯通寬帶、青島聯通寬帶、上海聯通寬帶、沈陽聯通寬帶、遵義聯通寬帶、長春聯通寬帶、長沙聯通寬帶、成都聯通寬帶、重慶聯通寬帶、廈門聯通寬帶、呼和浩特聯通寬帶、