Kubernetes 管理虛擬機(jī)之 KubeVirt

什么是 KubeVirt ?

Kubevirt 是Redhat開(kāi)源的以容器方式運(yùn)行虛擬機(jī)的項(xiàng)目,以k8s add-on方式,利用k8s CRD為增加資源類型VirtualMachineInstance(VMI), 使用容器的image registry去創(chuàng)建虛擬機(jī)并提供VM生命周期管理。 CRD的方式是的kubevirt對(duì)虛擬機(jī)的管理不局限于pod管理接口,但是也無(wú)法使用pod的RS DS Deployment等管理能力,也意味著 kubevirt如果想要利用pod管理能力,要自主去實(shí)現(xiàn),目前kubevirt實(shí)現(xiàn)了類似RS的功能。 kubevirt目前支持的runtime是docker和runv。

為什么使用 KubeVirt ?

KubeVirt 技術(shù)可滿足已采用或想要采用Kubernetes開(kāi)發(fā)團(tuán)隊(duì)的需求,但他們擁有現(xiàn)有的基于虛擬機(jī)的工作負(fù)載,無(wú)法輕松地對(duì)其進(jìn)行容器化。更具體地說(shuō),該技術(shù)提供了一個(gè)統(tǒng)一的開(kāi)發(fā)平臺(tái),開(kāi)發(fā)人員可以在該平臺(tái)上構(gòu)建,修改和部署駐留在公共共享環(huán)境中的應(yīng)用程序容器和虛擬機(jī)中的應(yīng)用程序。

好處是廣泛而重大的。依賴現(xiàn)有基于虛擬機(jī)的工作負(fù)載團(tuán)隊(duì)有權(quán)快速將應(yīng)用程序容器化。通過(guò)將虛擬化工作負(fù)載直接放置在開(kāi)發(fā)工作流中,團(tuán)隊(duì)可以隨時(shí)間分解它們,同時(shí)仍然可以按需使用剩余的虛擬化組件。

KubeVirt 能做什么 ?

  • 利用 KubeVirt 和 Kubernetes 來(lái)管理虛擬機(jī)
  • 一個(gè)平臺(tái)上將現(xiàn)有的虛擬化與容器化打通并管理
  • 支持虛擬機(jī)應(yīng)用與容器化應(yīng)用實(shí)現(xiàn)內(nèi)部交互訪問(wèn)

KubeVirt 架構(gòu)

從kubevirt架構(gòu)看如何創(chuàng)建虛擬機(jī),Kubevirt架構(gòu)如圖所示,由4部分組件組成。從架構(gòu)圖看出kubevirt創(chuàng)建虛擬機(jī)的核心就是 創(chuàng)建了一個(gè)特殊的pod virt-launcher 其中的子進(jìn)程包括libvirtqemu。做過(guò)openstack nova項(xiàng)目的朋友應(yīng)該比較 習(xí)慣于一臺(tái)宿主機(jī)中運(yùn)行一個(gè)libvirtd后臺(tái)進(jìn)程,kubevirt中采用每個(gè)pod中一個(gè)libvirt進(jìn)程是去中心化的模式避免因?yàn)?libvirtd 服務(wù)異常導(dǎo)致所有的虛擬機(jī)無(wú)法管理。

image

虛擬機(jī)創(chuàng)建流程

  • client 發(fā)送創(chuàng)建VMI命令達(dá)到k8s API server.
  • K8S API 創(chuàng)建VMI
  • virt-controller監(jiān)聽(tīng)到VMI創(chuàng)建時(shí),根據(jù)VMI spec生成pod spec文件,創(chuàng)建pods
  • k8s調(diào)度創(chuàng)建pods
  • virt-controller監(jiān)聽(tīng)到pods創(chuàng)建后,根據(jù)pods的調(diào)度node,更新VMI 的nodeName
  • virt-handler監(jiān)聽(tīng)到VMI nodeName與自身節(jié)點(diǎn)匹配后,與pod內(nèi)的virt-launcher通信,virt-laucher創(chuàng)建虛擬機(jī),并負(fù)責(zé)虛擬機(jī)生命周期管理

項(xiàng)目地址與快速使用

參考鏈接

本文由 YP小站 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容