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的代码。


 
swagger 定义的API
 

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

API的定义
 
原文地址:https://www.cnblogs.com/shaohef/p/10605963.html