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的定义
 

 

相关文章
相关标签/搜索