1
2
3
4
5
作者:李晓辉

微信联系:lxh_chat

联系邮箱: 939958092@qq.com

如果你准备在 OpenShift 集群上搞虚拟化,有几个关键点要注意。OpenShift 可以在各种环境里部署,但如果要加上虚拟化操作符,就需要一些额外的配置。像 IBM Cloud 或 AWS 这些提供的裸金属实例,或者你自己搭建的本地 OpenShift 集群,都挺适合用这个虚拟化操作符。另外,它在 OpenShift Kubernetes Engine 和 Red Hat OpenShift Service on AWS (ROSA) 里也包含了。

注意了,敲黑板

如果你在 单节点 OpenShift 上安装 OpenShift Virtualization,会有一些功能无法使用,比如:

  • 高可用性(High Availability)
  • Pod 中断(Pod Disruption)
  • 实时迁移(Live Migration)
  • 设定了驱逐策略的虚拟机或模板

安装前的准备工作

在正式安装前,先检查你的 OpenShift 集群是否满足最基本的要求,确保它能完美支持 OpenShift Virtualization:

  • CPU 兼容性:必须支持 Red Hat Enterprise Linux 9,包含 Intel 64 或 AMD64 扩展,并启用 Intel VT 或 AMD-V 硬件虚拟化,同时 no-execute(NX) 保护也要打开。
  • 计算节点性能:要比集群里虚拟机的最低要求更高,别让资源拖后腿。
  • 高可用性
    • 如果是 安装程序配置的基础设施,需要启用 机器健康检查(Machine Health Checks)
    • 如果你是手动配置的,需要自己监控节点的可用性。
  • 实时迁移(Live Migration):这个功能需要共享存储,确保数据能在不同节点间流畅迁移。
  • 离线部署
    • 受限网络环境 中,必须启用 Operator Lifecycle Manager
  • 存储配置
    • 需要给 OpenShift Virtualization 或 OpenShift Container Platform 设置一个 默认存储类,方法是给存储类加上 storageclass.kubevirt.io/is-default-virt-class=truestorageclass.kubernetes.io/is-default-class=true 这样的注解。
  • Windows 虚拟机存储
    • 如果你使用 Red Hat OpenShift Data Foundation 来部署 OpenShift Virtualization,就得专门为 Windows 虚拟机磁盘创建一个 独立的存储类

有了这些前期准备,你的 OpenShift Virtualization 安装就能顺利展开啦!准备好,咱们开始吧!

安装 Operator

和其他 Operator 一样,你可以通过 Web 控制台命令行 来安装 OpenShift Virtualization Operator。下面是Web的详细步骤:

  1. 进入 OpenShift Web 控制台
  2. 在左侧面板找到 OperatorsOperator Hub
  3. 搜索栏 输入 OpenShift Virtualization 并选择 OpenShift Virtualization 选项。
  4. 配置你需要的 频道(Channel)版本(Version) 选项。
  5. 点击 安装(Install),进入安装 Operator 页面。

virtualization_operator

在安装页面上,检查或调整 你的安装选项,确保它符合你的需求,然后点击 安装(Install),将 OpenShift Virtualization Operator 部署到 openshift-cnv 命名空间。

安装 KubeVirt HyperConverged Operator(HCO)
OpenShift Virtualization 需要 KubeVirt HyperConverged Operator(HCO) 来完成部署并管理虚拟化组件。HCO 不仅负责 OpenShift Virtualization 的核心功能,还会创建一些 自定义资源(Custom Resources,CR) 来帮助管理额外的操作符,比如:

  • Containerized Data Importer (CDI) → 负责数据导入
  • Scheduling, Scale, and Performance (SSP) → 负责调度和性能优化
  • Cluster Network Addons → 负责网络扩展功能

创建HyperConverged 实例

安装完成后
OpenShift Virtualization Operator 成功安装,Web 控制台 会弹出提示,建议你创建一个 HyperConverged 实例。这是 HCO 的核心配置,它会负责管理你的 OpenShift Virtualization 组件,让整个虚拟化功能顺利运行。

接下来,我们可以进一步配置存储、网络,甚至虚拟机!你的集群已经开始具备完整的虚拟化能力啦!

virtualization_create_hyperconverged

不过如果你想完全用自己的虚拟机镜像,而不用平台的最新镜像的话,我们要禁用一下enableCommonBootImageImport 这个选项,enableCommonBootImageImport 这个选项用于 控制自动更新系统定义的启动镜像。如果启用了这个选项,OpenShift Virtualization 会自动导入、轮询并更新常见的操作系统镜像,使其始终保持最新状态,方便用户创建新的虚拟机,这个功能类似于云平台上的 黄金镜像(Golden Image) 机制,确保用户可以随时使用最新的操作系统版本,而无需手动上传和管理镜像。

找一下featureGates

disable_import

完事儿后,直接点创建,等一会儿就好了,不过这个很有可能会连带你的web控制台一起更新,如果提示下面这个,你就退出重新登陆一下web页面

hyperconverged_confirm_refresh

good,我们已经成功安装了

创建虚拟机测试

先创建一个project存放虚拟机

hyperconverged_confirm_refresh

选一下你要用哪个镜像

create_from_instance

选一个硬件配置

select_instance_type

给虚拟机起一个名字,然后点创建

name_vm

ok,现在虚拟机已经成功运行

review_running

必要的时候,把虚拟机删了,避免占用资源

vm_delete