前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes 管理虚拟机之 KubeVirt

Kubernetes 管理虚拟机之 KubeVirt

作者头像
YP小站
发布2020-06-04 16:02:29
2K0
发布2020-06-04 16:02:29
举报
文章被收录于专栏:YP小站YP小站

什么是 KubeVirt ?

Kubevirt 是Redhat开源的以容器方式运行虚拟机的项目,以k8s add-on方式,利用k8s CRD为增加资源类型VirtualMachineInstance(VMI), 使用容器的image registry去创建虚拟机并提供VM生命周期管理。CRD的方式是的kubevirt对虚拟机的管理不局限于pod管理接口,但是也无法使用pod的RS DS Deployment等管理能力,也意味着 kubevirt如果想要利用pod管理能力,要自主去实现,目前kubevirt实现了类似RS的功能。kubevirt目前支持的runtime是docker和runv。

为什么使用 KubeVirt ?

KubeVirt 技术可满足已采用或想要采用Kubernetes开发团队的需求,但他们拥有现有的基于虚拟机的工作负载,无法轻松地对其进行容器化。更具体地说,该技术提供了一个统一的开发平台,开发人员可以在该平台上构建,修改和部署驻留在公共共享环境中的应用程序容器和虚拟机中的应用程序。

好处是广泛而重大的。依赖现有基于虚拟机的工作负载团队有权快速将应用程序容器化。通过将虚拟化工作负载直接放置在开发工作流中,团队可以随时间分解它们,同时仍然可以按需使用剩余的虚拟化组件。

KubeVirt 能做什么 ?

  • 利用 KubeVirt 和 Kubernetes 来管理虚拟机
  • 一个平台上将现有的虚拟化与容器化打通并管理
  • 支持虚拟机应用与容器化应用实现内部交互访问

KubeVirt 架构

从kubevirt架构看如何创建虚拟机,Kubevirt架构如图所示,由4部分组件组成。从架构图看出kubevirt创建虚拟机的核心就是 创建了一个特殊的pod virt-launcher 其中的子进程包括libvirtqemu。做过openstack nova项目的朋友应该比较 习惯于一台宿主机中运行一个libvirtd后台进程,kubevirt中采用每个pod中一个libvirt进程是去中心化的模式避免因为 libvirtd 服务异常导致所有的虚拟机无法管理。

虚拟机创建流程

  • client 发送创建VMI命令达到k8s API server.
  • K8S API 创建VMI
  • virt-controller监听到VMI创建时,根据VMI spec生成pod spec文件,创建pods
  • k8s调度创建pods
  • virt-controller监听到pods创建后,根据pods的调度node,更新VMI 的nodeName
  • virt-handler监听到VMI nodeName与自身节点匹配后,与pod内的virt-launcher通信,virt-laucher创建虚拟机,并负责虚拟机生命周期管理

项目地址与快速使用

  • 项目地址 https://github.com/kubevirt/kubevirt
  • 快速使用 https://kubevirt.io//quickstart_minikube/

参考链接

  • https://kubevirt.io/
  • https://remimin.github.io/2018/09/14/kubevirt/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 YP小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 KubeVirt ?
  • 为什么使用 KubeVirt ?
  • KubeVirt 能做什么 ?
  • KubeVirt 架构
  • 虚拟机创建流程
  • 项目地址与快速使用
  • 参考链接
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档