8.3. 上传 VMDK 镜像并在 vSphere 中创建 RHEL 虚拟机


在创建和配置镜像后,您可以使用 CLI 将它部署到 VMware vSphere 中,并创建虚拟机并登录到它。

先决条件

  • 已使用 cloud-init 工具配置了用于访问已部署系统的凭证。请参阅配置凭证以访问部署的系统
  • 通过在环境中设置以下值,您在环境中使用以下值配置了 govc VMware CLI 工具客户端:

    GOVC_URL
    GOVC_DATACENTER
    GOVC_FOLDER
    GOVC_DATASTORE
    GOVC_RESOURCE_POOL
    GOVC_NETWORK

流程

  1. metadata.yamluserdata.yaml 文件导出到环境中,使用 gzip 压缩,使用 base64 编码,如下所示:后续步骤中将用到它们。

    export METADATA=$(gzip -c9 <metadata.yaml | { base64 -w0 2>/dev/null || base64; }) \
    USERDATA=$(gzip -c9 <userdata.yaml | { base64 -w0 2>/dev/null || base64; })
  2. 使用 metadata.yamluserdata.yaml 文件在 vSphere 上启动镜像:

    1. .vmdk 镜像导入到 vSphere :

      $ govc import.vmdk ./composer-api.vmdk foldername
    2. 在 vSphere 中创建虚拟机而不开机:

      govc vm.create \
      -net.adapter=vmxnet3 \
      -m=4096 -c=2 -g=rhel8_64Guest \
      -firmware=bios -disk=”foldername/composer-api.vmdk” \
      -disk.controller=ide -on=false \
       vmname
    3. 更改虚拟机以添加 ExtraConfig 变量,即 cloud-init 配置:

      govc vm.change -vm vmname \
      -e guestinfo.metadata="${METADATA}" \
      -e guestinfo.metadata.encoding="gzip+base64" \
      -e guestinfo.userdata="${USERDATA}" \
      -e guestinfo.userdata.encoding="gzip+base64"
    4. 打开虚拟机:

      govc vm.power -on vmname
    5. 检索虚拟机 IP 地址:

      HOST=$(govc vm.ip vmname)
    6. 使用 cloud-init 文件配置中指定的用户数据,使用 SSH 登录到虚拟机:

      $ ssh admin@HOST
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.