第 7 章 director operator 部署场景:使用 Hyper-Converged Infrastructure (HCI)的 Overcloud
您可以使用 director Operator 部署带有 Hyper-verged Infrastructure (HCI)的 overcloud。此场景在同一节点上安装 Compute 和 Ceph Storage OSD 服务。
前提条件
- 您的计算 HCI 节点需要额外的磁盘来用作 OSD。
7.1. 为基础操作系统创建数据卷 复制链接链接已复制到粘贴板!
您必须使用 OpenShift Container Platform (OCP)集群创建数据卷,以便为 Controller 虚拟机存储基础操作系统镜像。
前提条件
- 将 Red Hat Enterprise Linux 8.4 QCOW2 镜像下载到您的工作站。您可以从红帽客户门户 的产品下载部分下载 此镜像。
在工作站上安装
virtctl客户端工具。您可以使用以下命令在 Red Hat Enterprise Linux 工作站中安装这个工具:sudo subscription-manager repos --enable=cnv-4.10-for-rhel-8-x86_64-rpms sudo dnf install -y kubevirt-virtctl
$ sudo subscription-manager repos --enable=cnv-4.10-for-rhel-8-x86_64-rpms $ sudo dnf install -y kubevirt-virtctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在工作站上安装
virt-customize客户端工具。您可以使用以下命令在 Red Hat Enterprise Linux 工作站中安装这个工具:dnf install -y libguestfs-tools-c
$ dnf install -y libguestfs-tools-cCopy to Clipboard Copied! Toggle word wrap Toggle overflow
流程
从 access.redhat.com 下载的默认 QCOW2 镜像不使用 biosdev 可预测的网络接口名称。使用
virt-customize修改镜像,以使用 biosdev 可预测的网络接口名称:sudo virt-customize -a <local path to image> --run-command 'sed -i -e "s/^\(kernelopts=.*\)net.ifnames=0 \(.*\)/\1\2/" /boot/grub2/grubenv' sudo virt-customize -a <local path to image> --run-command 'sed -i -e "s/^\(GRUB_CMDLINE_LINUX=.*\)net.ifnames=0 \(.*\)/\1\2/" /etc/default/grub' --truncate /etc/machine-id
$ sudo virt-customize -a <local path to image> --run-command 'sed -i -e "s/^\(kernelopts=.*\)net.ifnames=0 \(.*\)/\1\2/" /boot/grub2/grubenv' $ sudo virt-customize -a <local path to image> --run-command 'sed -i -e "s/^\(GRUB_CMDLINE_LINUX=.*\)net.ifnames=0 \(.*\)/\1\2/" /etc/default/grub' --truncate /etc/machine-idCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
virtctl将镜像上传到 OpenShift Virtualization:virtctl image-upload dv <datavolume_name> -n openstack \ --size=<size> --image-path=<local_path_to_image> \ --storage-class <storage_class> --access-mode <access_mode> --insecure
$ virtctl image-upload dv <datavolume_name> -n openstack \ --size=<size> --image-path=<local_path_to_image> \ --storage-class <storage_class> --access-mode <access_mode> --insecureCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<datavolume_name> 替换为数据卷的名称,如openstack-base-img。 -
将
<size> 替换为您的环境所需的数据卷的大小,例如500Gi。最小值为 500GB。 将
<storage_class> 替换为集群中所需的存储类。使用以下命令检索可用的存储类:oc get storageclass
$ oc get storageclassCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<access_mode> 替换为 PVC 的访问模式。默认值为ReadWriteOnce。
-
将
在创建 OpenStackControlPlane 资源和单独的 OpenStackVmSet 资源时,将
baseImageVolumeName参数设置为数据卷名称:... spec: ... baseImageVolumeName: openstack-base-img ...
... spec: ... baseImageVolumeName: openstack-base-img ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow