当前位置: 首页 > news >正文

Kubevirt部署好后系统镜像的dv存储创建

什么是DV?

DataVolume 是 Kubevirt 用于管理虚拟机磁盘镜像的资源,支持从 HTTP、容器镜像、S3 等源导入镜像,自动创建对应的PersistentVolumeClaim(PVC)。

DV创建流程

首先要有镜像,把镜像放到某个目录下之后,执行nohup python3 -m http.server 8000 & 后台运行个http

nohup python3 -m http.server 8000  &

在这里插入图片描述
起这个服务就相当于是个下载链接,把需要的镜像复制到这里之后,再导入到dv中,接下来我们创建dv文件

模版文件,集群内已有 PVC(克隆)

apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:name: my-dv-clone
spec:pvc:accessModes:- ReadWriteOnceresources:requests:storage: 10GistorageClassName: <你的存储类名称>volumeMode: Filesystemsource:pvc:name: existing-pvc  # 已有PVC的名称namespace: default  # 已有PVC的命名空间

案例文件,外部 HTTP 服务器(下载导入)

apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:name: arm64-ubuntunamespace: default
spec:source:http:url: http://192.168.0.115:8081/jammy-server-cloudimg-arm64-bak.imgstorage:resources:requests:storage: 20GivolumeMode: Block

解读:

  1. apiVersion: cdi.kubevirt.io/v1beta1
    说明该资源属于 Containerized Data Importer (CDI) 项目的 v1beta1 版本 API。CDI 是 Kubevirt 生态中用于管理虚拟机磁盘镜像导入的工具,支持从 HTTP、容器镜像、S3 等源导入镜像,并自动创建对应的PersistentVolumeClaim(PVC)。

  2. kind: DataVolume
    明确资源类型为 DataVolume(简称 DV)。DV 是 CDI 的核心资源,用于声明 “从哪里导入镜像、需要多少存储、存储以什么模式呈现”,最终会自动生成一个 PVC 供 Kubevirt 虚拟机使用。

  3. metadata 段
    name: arm64-ubuntu:该 DV 的名称,用于在 Kubernetes 中标识这个资源。
    namespace: default:该 DV 部署在default命名空间下,Kubernetes 资源的隔离和管理基于命名空间。

  4. spec 段(核心配置)
    (1)source.http.url
    定义镜像的导入源:通过 HTTP 协议从 http://192.168.0.115:8081/jammy-server-cloudimg-arm64-bak.img 下载磁盘镜像。
    镜像类型:从文件名 jammy-server-cloudimg-arm64-bak.img 可判断,这是一个ARM64 架构的 Ubuntu Jammy(22.04)服务器版云镜像(适合虚拟机部署)。

(2)storage.resources.requests.storage: 20Gi
声明该 DV 对应的 PVC 需要请求 20Gi 的存储容量。需注意:请求的存储容量必须大于镜像实际大小,否则镜像导入会失败。

(3)storage.volumeMode: Block
定义存储的卷模式为Block(块设备模式)。
Block模式:卷以 “块设备” 形式呈现,适合直接作为虚拟机的块设备磁盘(如虚拟机的根磁盘),性能更接近物理磁盘。
对比Filesystem模式(文件系统卷,适合挂载为目录),Block更契合虚拟机 “磁盘设备” 的使用场景。

整体作用

这段配置的核心目的是:在default命名空间下创建一个 DataVolume,从指定 HTTP 地址下载 ARM64 架构的 Ubuntu Jammy 云镜像,请求 20Gi 的块设备存储,最终生成一个 PVC,供 Kubevirt 虚拟机作为磁盘使用。

测验

创建个arm64-ubuntu-test的dv进行测试

kubectl get dv

在这里插入图片描述

http://www.dtcms.com/a/545735.html

相关文章:

  • 基于凭据管理系统实现Nacos服务端配置中数据库密码加密的实践方案
  • 自己做网站最新视频教程wordpress 响应分页
  • wordpress酷黑主题厦门seo报价
  • 开发·SpringBoot+Vue
  • KingbaseES数据库性能调优工具全面解析
  • MySQL 数据备份
  • 电子商务网站的建设方法发布网站制作
  • 深圳外贸网站开发建设推广网站排行榜
  • 《考研408数据结构》第七章(6.1~6.3图的概念、存储方式、深/广度遍历)复习笔记
  • 解决Nacos 2.+版本集群启动报错问题
  • Rust 异步取消(Cancellation)策略:从原理到实践的深度解析
  • 湘潭网站建设 磐石网络优质wordpress .mo文件编辑
  • Spring Boot 框架开发 REST API 接口实践
  • 邓州网站优化新手代理怎么找客源
  • 重庆网站优化网站怎样自己不花钱在电脑上做网页
  • Python驱动的无人机生态三维建模与碳储/生物量/LULC估算全流程实战技术
  • 怎么帮客户做网站建站宠物网站开发与实现结论
  • NTP与RTC两者优先级
  • 【GitLab/CI】前端 CI
  • 做教育行业网站如何利用织梦cms做企业网站
  • 【开题答辩全过程】以 儿童游泳预约系统为例,包含答辩的问题和答案
  • 《Vue项目开发实战》第一章:项目环境配置
  • 外贸管理网站模板wordpress评论邮箱
  • 基于Python Web的大数据系统监控平台的设计与实现
  • 哈尔滨企业展示型网站建设专业做营销网站建设
  • 手机网站相册代码wordpress二维码 插件下载
  • 基于电鱼 ARM 工控机的AI视频智能分析方案:让传统监控变得更聪明
  • 邢台哪儿能做网站成都有什么好玩的吗
  • Ansible自动化部署ECS与Nginx全流程
  • 架构论文《论软件测试理论及其应用》