7.15.3.5. 使用数据卷将虚拟机镜像导入到块存储中


您可以使用数据卷将虚拟机镜像导入到块存储中。在创建虚拟机前,您要在 VirtualMachine 清单中引用数据卷。

先决条件

  • RAW、ISO 或 QCOW2 格式的虚拟机磁盘镜像,可选择使用 xzgz 进行压缩。
  • 托管镜像的 HTTP 或 HTTPS 端点,以及访问数据源所需的任何身份验证凭证。

流程

  1. 如果您的数据源需要身份验证,请创建一个 Secret 清单,指定数据源凭证,并将其保存为 endpoint-secret.yaml

    apiVersion: v1
    kind: Secret
    metadata:
      name: endpoint-secret 1
      labels:
        app: containerized-data-importer
    type: Opaque
    data:
      accessKeyId: "" 2
      secretKey:   "" 3
    1
    指定 Secret 的名称。
    2
    指定 Base64 编码的密钥 ID 或用户名。
    3
    指定 base64 编码的 secret 密钥或密码。
  2. 应用 Secret 清单:

    $ oc apply -f endpoint-secret.yaml
  3. 创建 DataVolume 清单,为虚拟机镜像指定数据源,并为 storage.volumeMode 指定 Block

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: DataVolume
    metadata:
      name: import-pv-datavolume 1
    spec:
      storageClassName: local 2
        source:
          http:
            url: "https://mirror.arizona.edu/fedora/linux/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-35-1.2.x86_64.qcow2" 3
            secretRef: endpoint-secret 4
      storage:
        volumeMode: Block 5
        resources:
          requests:
            storage: 10Gi
    1
    指定数据卷的名称。
    2
    可选:设置存储类,或忽略此项,接受集群默认值。
    3
    指定要导入的镜像的 HTTP 或 HTTPS URL。
    4
    为数据源创建 Secret 时需要。
    5
    对于已知的存储置备程序,会自动检测到卷模式和访问模式。否则,指定 Block
  4. 创建数据卷来导入虚拟机镜像:

    $ oc create -f import-pv-datavolume.yaml

在创建虚拟机前,您可以在 VirtualMachine 清单中引用此数据卷。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.