kubernets kubevirt 分析

 

目前kubevirt提供虛機管理的功能。 

kill, delete, shutdown, migration 等。
VMI是virtual machine interface的縮寫。
SyncVMI,實際上就是建立一個VM。

 

建立VM的map, 支持PCI設備。
只是libvirt的一層皮,libvirt有啥它就支持啥。
連package的名字都叫virtwrap

 

handler的調用launcher。
LauncherClient(RPC)提供給handler的幾個功能。 
 
 這個handler和launcher的通訊是相互的, 跟dpi差很少的機制。
 handler提供給launcher的 這個sock叫 "domain-notify.sock"
 

 

這是launcher的代碼
 
經過rpc通訊。 這個rpc經過一個unixsock, unixsock的名字是虛擬機的UUID, 在"/var/run/kubevirt" 目錄下面。 
此外launcher還提供了一個就緒的文件, "readiness-file", 叫"/var/run/kubevirt-infra/healthy", Pod looks for this file to determine when virt-launcher is initialized 
  插入一個go的語法

 

event是kubelet和kubevirt-handle 的一個重要組成部分
http://www.shwhyc.com/tags/events

 

 
                                  
kubevirt看來是支持dpi的, 支持QAT,FPGA的。 

 

前面說了, handler也會提供一個socket,供launcher進行notify。 這是launcher的代碼 

 

launcher會把來自libvirt的domain event 發給handler。
同時也會發送k8s的event,啥event, 不知道
 
 

 

 
 

 

 

handler起notify server的代碼。git

 
       
 

 

swagger 定義的API
 

"description": "This is KubeVirt API an add-on for Kubernetes."

API的定義
 

 

相關文章
相關標籤/搜索