最新要闻
- 核磁共振增强剂的危害_核磁共振增强剂的危害
- 环球热文:高德、阿里云发布全新车路协同方案 夜间开车像开了上帝视角
- 世界热文:瑞幸咖啡被吐槽喝完3口剩下全是冰 客服:门店按配方比例制作
- 世界快消息!育碧正式宣布“单飞”:E3展会再失重要参展商
- 独此一家!真我GT Neo5 SE梦幻续航组合:100W快充+5500mAh电池
- 每日速递:迪士尼《小美人鱼》真人电影确认引进内地:或5月上映
- 世界热点!各部队加强即将退役人员保密教育的一组见闻
- 焦点速递!男子2天喝4顿后死亡 起诉店家获赔:医生称如此喝酒很伤身
- 全球实时:价格相差数倍!智能手表比智能手环强在哪里?
- 昔日明星掌机落幕:任天堂正式关闭3DS游戏商店
- 最新消息:李想:攻破燃油车 需3步
- 当前简讯:任天堂爆款续作!《塞尔达传说:王国之泪》新实机今晚公布:5月12日发售
- 环球信息:日本北海道一养鸡场发生禽流感疫情
- 库克喊话:苹果和中国市场30年来密切关联 我们相互成长
- 今日热讯:告别物理卡槽!iPhone 15将进一步普及eSIM:水货机今后更难了
- 老人推倒摩托继承人被判赔1.6万元:车主直言被网曝 老人违法不该被宽恕
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
作者:林苍
(资料图片)
背景
容器无疑已经成为新的云计算基础设施,企业私有云平台的建设重心,正在从虚拟化的计算、存储、网络的建设,转向构建以容器、微服务等为核心的云原生平台。不过值得注意的是,企业 IT 系统在进行容器化改造的过程中,由于历史遗留系统、技术债务、内核依赖等原因,基于虚拟机的应用在未来依然会广泛存在。企业的 IT 基础设施正在从单一的虚拟化架构逐步走向虚拟机+容器的混合架构,Gartner 预测到 2026 年将会有 75% 的私有化环境需要混合部署虚拟机和容器负载。
CNStack 虚拟化服务(cnstack-virtualization)基于以 CNCF KubeVirt 为代表的云原生虚拟化技术,用一套控制平面同时管理容器和虚拟机,实现容器与虚拟机的资源共池管理、灵活分配、统一调度。企业可将难以容器化的虚拟机应用无缝迁移到 CNStack 平台上,逐步实现 IT 系统的云原生化。
CNStack 虚拟化云服务
在 CNStack 2.0 中,虚拟化服务以独立云服务的形态进行部署,即能复用 CNStack 平台与多集群服务提供的多租资源管理、统一网关、集群管理、多集群资源分发等基础能力,又能不失灵活性地独立演进与发布。
CNStack 虚拟化服务在当前版本提供了如下能力,并会逐步在后续版本上线更多能力(如虚拟机灾备、虚拟机热迁移、虚拟机迁移工具等):
- 完整的虚拟机生命周期管理能力:支持开关机、重启、暂停、快照等操作。
- 虚拟机自运维能力
- 在浏览器通过 VNC、串口带外管理协议运维虚拟机。
- 快照与恢复:通过快照保存虚拟机磁盘在某一时刻的状态,数据丢失或异常时可快速恢复。
- 监控与告警:提供虚拟机 CPU、内存、磁盘 I/O、网络吞吐等关键运行指标的监控与告警。
- 管理虚拟机镜像
- 上传镜像,并按照租户控制资源的可见范围。
- 基于快照制作虚拟机镜像。
- ARM 多架构、IPv6、虚拟机固定 IP、边缘虚拟机自治、虚拟机快照克隆等特性
- 虚拟机应用管理:CNStack 应用管理服务提供了对虚拟机应用的纳管功能,支持对虚拟机内应用的一站式托管以及服务治理、能力开放、应用监控、应用告警和应用防护等能力。
整体架构简介
- cnstack-virt-console
基于阿里云自研的 ALFA 微前端方案,cnstack-virt-console 以微前端应用的形式被 CNStack Console 前端页面插件化集成。即可以保证终端用户在交互体验上的一致,也可满足虚拟化服务前端应用自由演进、独立部署分发的灵活性。
- cnstack-virt-api
提供虚拟化云服务的管控 API,将 VirtualMachine、DataVolume、VMImage 等自定义资源的读写操作以 RESTful 接口的形式进行封装。与其他的管控 API 一样,由 CNStack IAM Gateway 组件统一提供用户认证、鉴权、API 审计等基础能力,向集群外提供服务。值得一提的是,cnstack-virt-api 基于 CNStack 多集群服务的 cluster-gateway 组件,实现了跨集群的资源分发。
- KubeVirt
CNCF KubeVirt 拓展了管理运行虚拟机的 CRD,使得虚拟机资源可被视为 Kubernetes 集群的“一等公民”。KubeVirt 基于容器来管理运行 QEMU 虚拟机,提供了不同于容器的虚拟机生命周期管理接口,通过与标准的 CNI 容器网络插件和 CSI 容器存储插件对接,使得虚拟机可复用 Kubernetes 集群内的网络与存储资源。在 KubeVirt 社区版本的基础上,我们还为其拓展支持了 IPv6、GuestOS 监控、虚拟机固定IP、边缘虚拟机自治、虚拟机快照克隆等特性。
- CDI
**containerized-data-importer (CDI) [1]**是 KubeVirt 社区下的一个子项目,拓展了管理虚拟机磁盘的 CRD,负责生产含有虚拟机磁盘数据的 PersistentVolume 供 KubeVirt 虚拟机消费,并可支持从 VMWare、oVirt 等外部虚拟化平台导入磁盘数据。
- vmimage-controller
拓展了管理虚拟机镜像的 CRD。除了提供配置虚拟机所需要的 OS 元数据以外,还负责将镜像数据导入到集群,将集群内的虚拟机磁盘导出为镜像,并支持 ISO、QCOW2 等多种镜像格式,支持 OSS、HTTP、容器镜像等多种数据源。
CNStack 云原生虚拟化
相较于 OpenStack、VMWare vSphere 等传统的虚拟化平台来说,基于 KubeVirt 等云原生软件构建的 CNStack 云原生虚拟化平台有以下特点:
- 开放性
传统的虚拟化平台内往往集成了厂商提供的一整套网络、存储软件。而 Kubernetes 则基于 CSI、CNI 等规范提供了平台无关的资源抽象,基于 Kubernetes 构建的虚拟化平台可按照该规范自由对接各种类型的网络与存储资源,对客户来说避免了厂商锁定(vendor lock-in)的忧虑。
- 云原生的技术红利
毫无疑问云原生已经成为主流的技术领域,蓬勃发展的社区内囊括了监控、日志、安全、应用管理等丰富的软件生态。基于 Kubernetes 构建的虚拟化平台,统一的控制面与数据面使得虚拟机应用可以更便捷地享受云原生的技术红利。
KubeVirt 架构简介
下文着重介绍 KubeVirt 是如何基于 Kubernetes 解决网络、存储资源的虚拟化,以及虚拟机与容器是如何共享网络与存储资源,更多详细的 KubeVirt 架构介绍可见其**官方文档 [2]**。
虚拟化技术的本质是对硬件设备的模拟,KubeVirt 提供了 **VirtualMachine [3]**CR 来描述虚拟机,VirtualMachine CR 的核心是通过 **Domain [4]**类型来描述运行虚拟机所需的设备资源(熟悉 **Libvirt [5]**的读者会发现这几乎就对应于 Libvirt Domain 的概念),最终通过 Libvirt 交由 **QEMU [6]**模拟出虚拟机的硬件设备,也支持通过 Device Plugin 使用直通的宿主机 PCI 设备以降低设备模拟的开销。
KubeVirt 主要组件包括控制面的 virt-api 与 virt-controller,以 daemonset 部署的 virt-handler 负责管理配置节点上的虚拟机,以及实际运行 QEMU 虚拟机进程的 virt-launcher Pod,virt-launcher 承担了虚拟机存储网络与容器存储网络之间的桥梁。
虚拟机存储
虚拟机的磁盘数据存储在 virt-launcher Pod 挂载的 volume 中,volume 就交由各种 CSI 容器存储插件进行供给。KubeVirt 支持文件与块设备两种数据格式来存储磁盘数据:
- 文件:对应于 FileSystem VolumeMode 的 PV,PV 内只有一个磁盘镜像文件,QEMU 通过这种特殊格式的文件来模拟物理磁盘。
- 块设备:对应于 Block VolumeMode 的 PV,QEMU 直接通过块设备接口读取磁盘数据。由于 by-pass 了 PV 上的文件系统,具有更好的性能。
针对实际交付需求,CNStack 虚拟化服务支持本地与分布式存储两种场景:
- 本地存储:基于阿里巴巴开源的 open-local 容器存储插件,自动化节点本地磁盘的分配与调度,使得虚拟机可以灵活、低成本地使用本地存储资源。
- 分布式存储:基于阿里巴巴自研的 vCNS 云原生分布式存储软件,将 NVMe、SSD、HDD 等不同性能的磁盘进行分层地存储池化管理,为虚拟机提供了高性能、可靠的持久存储。
虚拟机网络
CNI 容器网络插件在容器的 network namespace 中创建 veth 网络设备(pod-nic)以供容器内进程使用,KubeVirt 提供了多种方式(**Network Binding Mode [7]**)连接 pod-nic 与 QEMU 虚拟机内的网络设备(VM-nic),Pod 之间的网络通信链路还是由 CNI 容器网络插件来管理。
- bridge:pod-nic 与 VM-nic 直接通过 layer-2 bridge 连接,VM-nic 通过 DHCP 协议直接获取到 pod-nic 的 layer-3 IP,Pod 充当了交换机的角色。
- masquerade:VM-nic 获取到的是本地 IP(只在 Pod 有效,一般固定为 10.0.1.2),VM-nic 发出/收到的流量都被 Pod 内的 iptables/nftables 规则 NAT 为 Pod IP 进行传输,Pod 充当了路由器的角色。
- sriov, slirp, passt 等其他 KubeVirt Network Binding 就不一一介绍。
虚拟机固定 IP
KubeVirt 很大程度复用了容器网络来搭建虚拟机网络链路,这种架构保证了虚拟机和容器网络(包括 Service、Ingress、NetworkPolicy 等)之间的无缝衔接。但这也对虚拟机用户带来了一些使用体验上的差异,Pod IP 在重建前后往往会变化,但虚拟机用户却习惯于使用固定 IP 的虚拟机。CNStack 虚拟化服务基于由阿里巴巴开源的 hybridnet 容器网络插件,支持了虚拟机固定 IP 的能力,可以保证虚拟机所处 Pod 在重建后的 IP 与 Mac 地址保证不变。
虚拟机镜像(Golden Image)
对于个人电脑用户来说,相信一定不会陌生如何通过 ISO 光盘或者 U 盘来安装操作系统。虚拟机内操作系统(GuestOS)的安装则不太一样,各操作系统发行版一般会提供了两种格式:
- ISO 光盘文件:最为常见,需要用户手动安装操作系统,可能还需要用户手动安装驱动,配置内核启动参数,安装 Cloud-init、GuestAgent、kdump 等 GuestOS 运维软件。
- Golden Image:只有少部分发行版提供,免安装,开机即可使用,已经预先配置好了运维 GuestOS 所需各类软件,创建自 Golden Image 镜像的虚拟机也会具有更好的运维体验。例如 Ubuntu Cloud Image、阿里云官方提供的 ECS 镜像等。
由于大多数虚拟机用户缺乏构建 **Golden Image [8]**的背景知识,一般只能提供 ISO 光盘文件(或者直接从发行版的官网下载)。我们基于 KubeVirt 与 **Tekton CICD [9]**搭建了虚拟机镜像构建流水线(VMImage Pipeline),基于 ISO 光盘文件,自动构建出 Golden Image 并上传到 OSS 等集中式存储中,以供创建虚拟机。
VMImage Pipeline
上述 VMImage Pipeline 对应于一个 Tekton Pipeline,由若干 Tekton Task 组成。以构建 CentOS 的 Golden Image 为例,流程如下:
- Install OS
CentOS、Fedora 等 Linux 发行版支持通过 **kickstart [10]**自动化安装操作系统,ISO 内的安装程序启动后如果检测到 kickstart 配置文件,则会按照其配置自动执行安装程序。Windows 操作系统也支持通过 **Sysprep [11]**实现类似的自动安装功能。值得一提的是,为了之后能通过 SSH 协议连接配置虚拟机,需要导入临时的用户信息。
- Config OS
基于上一步安装完毕的系统盘 PVC 创建虚拟机,并启动临时 Pod 通过 SSH 协议连接到虚拟机,执行 bootstrap 脚本,配置 kernel 启动参数,安装 Cloud-init、QEMUGuestAgent 等软件。
- Reset TempConfig
到这一步时,系统盘已经配置完毕了,但是之前虚拟机运行时在系统盘内残留了网卡的 mac 地址、ssh 连接记录等敏感信息,我们通过 virt-sysprep 工具抹去系统内的临时配置,生成一个干净的镜像文件。
- Upload Image
将 PVC 内的磁盘文件上传到 OSS 等集中式存储中,之后销毁该 PVC。后续创建虚拟机时,可通过 CDI DataVolume HTTP Source 重新下载磁盘文件到新建虚拟机的 PVC 中。
展望
对于企业来说,部署管理虚拟机只是第一步,如何运维管理虚拟机内的应用还需要不少工作,针对于虚拟机应用的传统运维工具很难适配云原生的软件生态。CNStack 虚拟化服务后续除了会继续丰富虚拟机的运维能力之外,还期望能够为虚拟机内应用提供与容器应用相同的运维管理体验。
参考资料:
CNStack 产品官网
https://www.aliyun.com/activity/middleware/cnstack
CNCF OCM
https://open-cluster-management.io/
CNCF KubeVirt
https://kubevirt.io/
open-local
https://github.com/alibaba/open-local
hybridnet
https://github.com/alibaba/hybridnet
相关链接
[1]containerized-data-importer (CDI)
https://github.com/kubevirt/containerized-data-importer
[2]官方文档
https://kubevirt.io/user-guide/architecture/#additional-services
[3] VirtualMachine
http://kubevirt.io/api-reference/main/definitions.html#_v1_virtualmachine
[4] Domain
http://kubevirt.io/api-reference/main/definitions.html#_v1_domainspec
[5] Libvirt
https://libvirt.org/
[6]QEMU
https://www.qemu.org/
[7]Network Binding Mode
https://kubevirt.io/user-guide/virtual_machines/interfaces_and_networks/#frontend
[8] Golden Image
https://opensource.com/article/19/7/what-golden-image
[9] Tekton CICD
https://tekton.dev/
[10] kickstart
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/performing_an_advanced_rhel_8_installation/performing_an_automated_installation_using_kickstart
[11]Sysprep
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation?view=windows-11
关键词:
-
天天微速讯:具有FTP、FTPS和sftp功能的文本编辑器——EditPlus功能介绍
EditPlus是Windows的文本编辑器,具有内置的FTP、FTPS和sftp功能。虽然它可以很好地替代记事本,但它...
来源: 焦点快报!实验一 密码引擎-2-电子钥匙功能测试
CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理
每日视讯:ChatGPT软件技术栈解密
天天微速讯:具有FTP、FTPS和sftp功能的文本编辑器——EditPlus功能介绍
今日热搜:【解答】MySQL MTR的实现原理与优势
核磁共振增强剂的危害_核磁共振增强剂的危害
环球热文:高德、阿里云发布全新车路协同方案 夜间开车像开了上帝视角
世界热文:瑞幸咖啡被吐槽喝完3口剩下全是冰 客服:门店按配方比例制作
世界快消息!育碧正式宣布“单飞”:E3展会再失重要参展商
独此一家!真我GT Neo5 SE梦幻续航组合:100W快充+5500mAh电池
每日速递:迪士尼《小美人鱼》真人电影确认引进内地:或5月上映
世界短讯!关于ChatGPT的一些信息,我画了一张思维导图
当前头条:前端设计模式——解释器模式
世界热点!各部队加强即将退役人员保密教育的一组见闻
焦点速递!男子2天喝4顿后死亡 起诉店家获赔:医生称如此喝酒很伤身
全球实时:价格相差数倍!智能手表比智能手环强在哪里?
昔日明星掌机落幕:任天堂正式关闭3DS游戏商店
最新消息:李想:攻破燃油车 需3步
当前简讯:任天堂爆款续作!《塞尔达传说:王国之泪》新实机今晚公布:5月12日发售
全球今热点:头铁面试官:一个小小的 System.out.println 硬是考了我半个小时,被问懵了。。
【天天播资讯】《Flask Web 开发指南 pt.1》
环球信息:日本北海道一养鸡场发生禽流感疫情
库克喊话:苹果和中国市场30年来密切关联 我们相互成长
今日热讯:告别物理卡槽!iPhone 15将进一步普及eSIM:水货机今后更难了
老人推倒摩托继承人被判赔1.6万元:车主直言被网曝 老人违法不该被宽恕
全球简讯:【国际大宗商品早报】隔夜外盘商品大面积反弹 美油涨超5%芝加哥农产品全线上涨
全球快报:最“丑”绿色车牌或在2年内取消 网友热议电车优待早该结束!国人将车牌代表面子
全球信息:2022年中国市场最畅销10款手机:国人狂买iPhone 13 高端安卓泪奔
天天视讯!昔日超市霸主 家乐福中国内地首店关闭:在北京开了28年
焦点快播:禁售时间已明确 油车还能开多久?中石油回应:新能源拐点还有很长路
天天微头条丨读Java性能权威指南(第2版)笔记30_Java服务器
世界热点评!Linux -mv命令的10个实用例子
全球看热讯:日本动漫演唱会_日本动漫
环球信息:【Visual Leak Detector】配置项 MaxDataDump
C++ 整理
OpenYurt v1.2 新版本深度解读(三):五步搭建一个OpenYurt集群
焦点速读:海外工具站 2022 复盘:商业认知篇
环球关注:泪目!孩子给离世父亲发短信被回复:爸爸也想你
1只花豹偷袭2只大猩猩:居然 全死了?
环球今日讯!别等魔兽国服了 暴雪今日开放全新服务器:自己单干
当蒂法换上《生化4》艾达王的装束:淡妆浓抹总相宜
全球观速讯丨软件、电影、游戏都“免费” 俄罗斯称盗版不再违法:要让奈飞破产
环球看点!樊小纯
前沿热点:美团面试:熟悉哪些JVM调优参数?
全球快看:基于.NET Core + Jquery实现文件断点分片上传
北京白领通勤天花板,单手拎起10秒折叠,网友:老板我需要
今日讯!针刺成小儿科?埃安官宣弹匣电池2.0枪击试验发布会
世界微资讯!手撕HashMap
每日资讯:一些面试高频题目
Synchronized详解
第134篇:解决浏览器的CORS跨域问题(CORS policy: Cross origin requests are only supported for p
环球观速讯丨《生化危机4:重制版》DLC正在开发中 艾达王是你的了
每日快播:深圳暴雨致航班取消 旅客情绪崩溃 跪求起飞 机场回应
环球通讯!全明星的三大遗憾,成就了这场本土篮球盛宴的缺憾之美
【Visual Leak Detector】配置项 AggregateDuplicates
Python毕业设计推荐
实时焦点:RTX 4070定了!还是你们讨厌的192位显存
每日看点!彻底没救了!《Forspoken》发售2个月后:RTX 4090依旧无法60帧
【播资讯】100亿捐款建大学 曹德旺:对标美国斯坦福 每个学生补贴5万
每日信息:做出莫斯利安的光明乳业:掉队了
女员工请假做试管婴儿被拒遭辞退 法院判了:恢复合同
环球观察:Vue 核心(二)
观焦点:HDFS Short-Circuit Local Reads
货币市场日报:3月27日
热消息:4月10日上市 福特F-150猛禽烈焰风暴特别版官图发布 为中国市场而
能抄底了?一汽奥迪补贴经销商清库存 明星车型降价近10万
每日看点!马云回国首谈ChatGPT:机器只有“芯”而人有“心”
国产车赢麻了!报告:中国品牌占俄罗斯新车销量近40%
焦点信息:“高端家用车”?比亚迪汉DM-i试驾 极致的油耗和空间
天天视讯!国产两轮电动车龙头!雅迪2022年营收310亿创纪录:电动自行车销量大增
焦点!通胀压力缓解避险情绪收敛 日债收益率周一全线回升
世界速读:商品日报(3月27日):沪锡领涨纯碱09合约增仓上行 苹果大幅下挫跌超4%
速读:前备箱门锁失灵?特斯拉扩大召回进口Model S
京东方iPhone 15灵动岛屏被曝漏光 苹果搬来三星救火:提前生产
天天热点评!女子赏花站梨树枝头甩衣狂摇 拍摄者:花瓣掉落一地
观热点:女子吃自助餐将店内甲鱼煮食 网友:是个狠人
乌鲁木齐周生生黄金价格多少钱一克(2023年3月27日)
新动态:CodeIgnitor 3.0.x 之 db 类实现机制
第一次博客
环球热点评!小皮Windows web面板漏洞详解
世界观速讯丨【原型设计工具】上海道宁为您提供Justinmind,助力您在几分钟内形成原型,并现场测试,无需编写任何代码
女生从俄罗斯花2分钟回国吃麻辣烫 挑战全网最短留学距离:网友感慨真近
环球观点:文心一言升级版!百度发布企业级大模型服务平台“文心千帆”
当前速讯:太危险!女子驾驶保时捷玩具车上机动车道吓坏路人:自称为了好玩
承认造假丑闻!百年日企川崎重工形象崩塌:鞠躬道歉
资讯推荐:男子跑滴滴1单挣了3148元:光等待费就两千多元
环球要闻:从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?
即时:【必须收藏】别再乱找TiDB 集群部署教程了,这篇保姆级教程来帮你!!| 博学谷狂野架构师
当前关注:C#多态性学习,虚方法、抽象方法、接口等用法举例
python中index()、find()方法
每日视点!便宜香港主机推荐
环球速递!秒变大屏平板!三星将推新款折叠手机:双铰链、三折叠
天天报道:专家评中国为何没跟上ChatGPT浪潮:0-1的事情没人做
电动车价格还得降 宁德钠离子电池今年量产:高寒地区突出优势
广汽埃安新车慢充失灵 车主:4S店给补偿 但协议他不想签
天天热推荐:日本声优网络发文吐槽外送被打翻 网友:小心隐私
天天精选!批量上传iOS应用程序截图的实用技巧
天天热头条丨OPPO发布新机|无感验证护航“黄牛党”退退退!
环球滚动:易基因:肠道菌群:早产儿出生后不同时间点肠道微生物定植的动态变化|项目文章
快播:Qt 博客汇总