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
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的定义
virt-operator 中定义了VirtualMachineInstance
resource-generator 调用了virt-operator
自动生成代码,
用了bazel来build 项目
kubernets kubevirt 分析的更多相关文章
- kubernets event 分析
1. event 是一个很重要的组成部分 event 分析 Kubernetes(K8s)Events介绍(上) Kubernetes Events介绍(中) Kubernetes Events介绍( ...
- kubernets controller 和 CRD 具体组件分析
(dlv) b k8s.io/sample-controller/pkg/client/informers/externalversions.(*sharedInformerFactory).Info ...
- Magnum Kuernetes源码分析(一)
Magnum版本说明 本文以magnum的mitaka版本代码为基础进行分析. Magnum Kubernetes Magnum主要支持的概念有bay,baymodel,node,pod,rc,ser ...
- Magnum Kubernetes源码分析(一)
Magnum版本说明 本文以magnum的mitaka版本代码为基础进行分析. Magnum Kubernetes Magnum主要支持的概念有bay,baymodel,node,pod,rc,ser ...
- 9.深入k8s:调度器及其源码分析
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 这次讲解的是k8s的调度器部分的代码,相对来说比较复杂,慢慢的梳理清 ...
- k8s驱逐篇(3)-kubelet节点压力驱逐-源码分析篇
kubelet节点压力驱逐-概述 kubelet监控集群节点的 CPU.内存.磁盘空间和文件系统的inode 等资源,根据kubelet启动参数中的驱逐策略配置,当这些资源中的一个或者多个达到特定的消 ...
- alias导致virtualenv异常的分析和解法
title: alias导致virtualenv异常的分析和解法 toc: true comments: true date: 2016-06-27 23:40:56 tags: [OS X, ZSH ...
- 火焰图分析openresty性能瓶颈
注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...
- 一起来玩echarts系列(一)------箱线图的分析与绘制
一.箱线图 Box-plot 箱线图一般被用作显示数据分散情况.具体是计算一组数据的中位数.25%分位数.75%分位数.上边界.下边界,来将数据从大到小排列,直观展示数据整体的分布情况. 大部分正常数 ...
随机推荐
- 洛谷P3385 【模板】负环
题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环. 输入输出格式 输入格式: 第一行一个正整数T表示数据组 ...
- css动画-animation各个属性详解(转)
CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题. 一.动画属性: 动画属性包括:①a ...
- ldd可执行程序时返回not a dynamic executable
原因:32位程序放在64位机器上或64位程序放在32位程序上了 解决方法:如果是32位程序放在64位系统上则安装yum -y install libstdc++.i686,64位则是yum -y in ...
- sql进阶
--1.变量的声明和赋值 declare @Start DateTime, @End DateTime set @Start = '1999-9-9' set @End = '2000-1-1' ...
- Python+Selenium+PageObject
一.安装page_objects测试库 二.目录介绍 1.pages包:用于各界面元素定位,如BaseLoginPage.py 2.testcases包:用于编写各功能测试用例,如Login.py 3 ...
- 更改oracle数据库密码(因为密码过期)
更改system的密码,然后用此用户登录数据库,在数据库里修改指定用户密码 alter user username identified by newpassword; --修改忘记密码用户的密码 让 ...
- python生成数据后,快速导入数据库
1.使用python生成数据库文件内容 # coding=utf-8import randomimport time def create_user(): start = time.time() ...
- mysql distinct()用法
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所 ...
- Windows下配置node和npm
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js 的使用包管理器 ...
- 【LeetCode每天一题】Edit Distance(编辑距离)
Given two words word1 and word2, find the minimum number of operations required to convert word1 to ...