在云计算领域我们经常能听到虚拟化(Virtualization)技术,到底什么是虚拟化技术呢?关于虚拟化的定义,我们能看到这样的术语:虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化技术一般来说包括:CPU虚拟化内存虚拟化服务器虚拟化存储虚拟化网络虚拟化应用虚拟化虚拟化技术的目的是通过隐藏特定计算平台的物理特性,为用户提供抽象的、统
在使用虚拟机时,会有因磁盘空间不足需要外挂存储卷的操作(当然也有反向的操作,即卸载存储卷),本文我们来了解下kubevirt对运行中的虚拟机动态操作存储卷的实现,也就是热插拔存储卷。hotplugvolumehotplugvolume热插拔卷,热插拔在这里指的是虚拟机在不关机断电的情况支持插入或者拔出卷而不影响虚拟机的正常工作。kubevirt封装了virtctladdvolume和virtctlremovevolume两个命令来支持热插拔卷,官网有一篇关于hotplugvolume的文章,本章节以下内容是对该文章的一些翻译转述。kubevirt支持运行中的vmi实例使用热插拔卷,但是卷必须是
通过前面的文章,我们对kubevirt有了一些简单的了解,本文我们来看看kubevirt虚拟机的网络实现原理。pod网络kubevirt是k8s的一个CRD实现,每个kubevirt虚拟机对应一个vmi对象和一个pod对象,而k8s本身对pod网络有了一些规范(CNI),所以在了解kubevirt虚拟机网络前,有必要先对k8s的pod网络有个了解。pod与containerk8spod是一组容器(container)的逻辑集合,一个pod可以包含多个业务容器和一个系统内置的sandbox容器:kubelet创建podkubelet在创建pod下的容器时,会先创建sandbox容器,再创建其它业
1、CRD创建:在虚拟机创建之前,需要创建一个虚拟机定义,它描述了虚拟机的配置和规格。虚拟机定义可以使用Kubernetes的自定义资源(CustomResource)进行声明,一般以YAML或JSON格式指定。在虚拟机定义中,您需要指定VM的名称、镜像、资源要求(如CPU、内存、存储)、网络设置等。kubevirt以CRD的形式将VM管理接口接入到kubernetes中,通过一个pod去使用libvirtd管理VM的方式,实现pod与VM的一一对应,做到如同容器一般去管理虚拟机,并且做到与容器一样的资源管理、调度规划。2、虚拟机创建:创建VM对象,并同步创建DataVolume/PVC,从镜
通过之前《kubevirt(一)虚拟化技术》和《kubevirt(二)实现原理》两篇文章,我们对kubevirt有了初步的了解,本文基于这些内容,我们来看看kubevirt虚拟机的迁移(migration)。注:本文内容仅限于同一个kubernetes集群内的虚拟机迁移,且本文内容基于kubevirt@0.49.0前言虚拟机迁移一般是指因宿主机出现故障时,需要将上面运行的虚拟机迁移到其它宿主机上的过程。在做虚拟机迁移前,首先需要考虑迁移前后宿主机的硬件资源差异性,包括宿主机架构(x86、ARM等)、宿主机cpu类型(Intel、AMD等)等因素,这部分内容需要结合具体业务场景具体分析,不在本文
在《kubevirt(一)虚拟化技术》一文中,我们对libevirt+qemu+kvm虚拟化做了一些简单的说明,本文基于这些内容,来看看kubevirt是怎么结合kubernetes平台实现虚拟化的。kubevirt项目地址:https://github.com/kubevirt/kubevirt,在介绍kubevirt之前,我们先对kubernetes的informer和CRD两个概念再做一个简单的说明。informerinformer简单来说是客户端通过list+watch机制,当关注的资源对象有变化时能得到ADD、UPDATE、DELETE三种事件,并且可以注册这三种事件的处理函数。这里
第一眼看到KubeVirt这个词,对技术有些了解的人基本都会知道,Kube代表了Kubernetes容器化平台,而Virt则是以OpenStack为代表的虚拟化平台及虚拟化的缩写。近几年Kubernetes的大热,相伴随的是OpenStack虚拟化平台的落寞,KubeVirt的出现,似乎有一种重整旧山河,王者归来的霸气。前几年Kubernetes与OpenStack各自大行其道时,鉴于容器的安全性、网络隔离等问题,有很多方案在探讨如何在虚拟机上运行容器,典型的如Magnum,可以通过成熟的多租户以及网络虚拟化来更好地控制容器的生命周期。而KubeVirt反其道而行,用Kubernetes平台来
第一眼看到KubeVirt这个词,对技术有些了解的人基本都会知道,Kube代表了Kubernetes容器化平台,而Virt则是以OpenStack为代表的虚拟化平台及虚拟化的缩写。近几年Kubernetes的大热,相伴随的是OpenStack虚拟化平台的落寞,KubeVirt的出现,似乎有一种重整旧山河,王者归来的霸气。前几年Kubernetes与OpenStack各自大行其道时,鉴于容器的安全性、网络隔离等问题,有很多方案在探讨如何在虚拟机上运行容器,典型的如Magnum,可以通过成熟的多租户以及网络虚拟化来更好地控制容器的生命周期。而KubeVirt反其道而行,用Kubernetes平台来