目前kubevirt提供虚机管理的功能。 

kubernets kubevirt 分析

kill, delete, shutdown, migration 等。
VMI是virtual machine interface的缩写。
SyncVMI,实际上就是创建一个VM。
kubernets kubevirt 分析

 

创建VM的map, 支持PCI设备。
kubernets kubevirt 分析
只是libvirt的一层皮,libvirt有啥它就支持啥。
连package的名字都叫virtwrap
kubernets kubevirt 分析

 

handler的调用launcher。
LauncherClient(RPC)提供给handler的几个功能。 
 kubernets kubevirt 分析
 这个handler和launcher的通信是相互的, 跟dpi差不多的机制。
 handler提供给launcher的 这个sock叫 "domain-notify.sock"
 kubernets kubevirt 分析

 

这是launcher的代码
 kubernets kubevirt 分析
通过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的语法
kubernets kubevirt 分析

 

event是kubelet和kubevirt-handle 的一个重要组成部分
http://www.shwhyc.com/tags/events
kubernets kubevirt 分析

 


kubevirt看来是支持dpi的, 支持QAT,FPGA的。 
kubernets kubevirt 分析

 

前面说了, handler也会提供一个socket,供launcher进行notify。 这是launcher的代码 

 kubernets kubevirt 分析

launcher会把来自libvirt的domain event 发给handler。
同时也会发送k8s的event,啥event, 不知道
kubernets kubevirt 分析
 
 kubernets kubevirt 分析

 

 
 kubernets kubevirt 分析

 

 

handler起notify server的代码。


 kubernets kubevirt 分析

 

swagger 定义的API
 kubernets kubevirt 分析

kubernets kubevirt 分析

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

API的定义
 kubernets kubevirt 分析

 

 
virt-operator 中定义了VirtualMachineInstance
kubernets kubevirt 分析

 

resource-generator 调用了virt-operator
自动生成代码,
用了bazel来build 项目

kubernets kubevirt 分析

kubernets kubevirt 分析

kubernets kubevirt 分析

 
 核心还是代码生成:

Extending Kubernetes: Create Controllers for Core and Custom Resources

Writing Kubernetes Custom Controllers

Kubernetes client-go实战应用

kubernetes-operator-tutorial

writing-your-first-kubernetes-operator

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2021-12-19
  • 2021-07-18
  • 2021-11-10
  • 2021-10-03
猜你喜欢
  • 2021-12-18
  • 2021-10-14
  • 2022-12-23
  • 2021-04-03
  • 2021-06-27
  • 2021-12-01
  • 2022-02-14
相关资源
相似解决方案