7.12. 使用 OpenShift Pipelines 管理虚拟机
Red Hat OpenShift Pipelines 是一个 Kubernetes 原生 CI/CD 框架,允许开发人员在其自己的容器中设计和运行 CI/CD 管道的每个步骤。
Scheduling、Scale 和 Performance (SSP) Operator 将 OpenShift Virtualization 与 OpenShift Pipelines 集成。SSP Operator 包括允许您的任务和示例管道:
- 创建和管理虚拟机 (VM)、持久性卷声明 (PVC) 和数据卷
- 在虚拟机中运行命令
-
使用
libguestfs
工具操作磁盘镜像
使用 Red Hat OpenShift Pipelines 管理虚拟机只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
7.12.1. 先决条件 复制链接链接已复制到粘贴板!
-
您可以使用
cluster-admin
权限访问 OpenShift Container Platform 集群。 -
已安装 OpenShift CLI(
oc
)。 - 已安装 OpenShift Pipelines。
7.12.2. 部署调度、扩展和性能 (SSP) 资源 复制链接链接已复制到粘贴板!
安装 OpenShift Virtualization 时,默认不会部署 SSP Operator 示例 Tekton Tasks 和 Pipelines。要部署 SSP Operator 的 Tekton 资源,请在 HyperConverged
自定义资源 (CR) 中启用 deployTektonTaskResources
功能门。
流程
运行以下命令,在默认编辑器中打开
HyperConverged
CR:oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
$ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
spec.featureGates.deployTektonTaskResources
字段设置为true
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意即使稍后禁用功能门,任务和示例管道仍可用。
- 保存更改并退出编辑器。
7.12.3. SSP Operator 支持的虚拟机任务 复制链接链接已复制到粘贴板!
下表显示了 SSP Operator 中包含的任务。
任务 | 描述 |
---|---|
|
从提供的清单或使用 |
| 从模板创建虚拟机。 |
| 复制虚拟机模板。 |
| 修改虚拟机模板。 |
| 创建和删除数据卷或数据源。 |
| 在虚拟机上运行脚本或命令,并在之后停止或删除虚拟机。 |
|
使用 |
|
使用 |
| 等待虚拟机实例的特定状态,并根据状态失败或成功。 |
在管道中创建虚拟机现在使用 ClusterInstanceType
和 ClusterPreference
而不是基于模板的任务,这些任务已弃用。create-vm-from-template
、copy-template
和 modify-vm-template
命令仍然可用,但不用于默认管道任务。
7.12.4. 管道示例 复制链接链接已复制到粘贴板!
SSP Operator 包含以下 Pipeline
清单示例。您可以使用 Web 控制台或 CLI 运行示例管道。
如果需要多个 Windows 版本,您可能需要运行多个安装程序传送线。如果您运行多个安装程序管道,每个管道都需要唯一的参数,如 autounattend
配置映射和基础镜像名称。例如,如果您需要 Windows 10 和 Windows 11 或 Windows Server 2022 镜像,则必须运行 Windows efi 安装程序管道和 Windows bios 安装程序管道。但是,如果您需要 Windows 11 和 Windows Server 2022 镜像,则必须只运行 Windows efi 安装程序管道。
- Windows EFI 安装程序管道
- 此管道将 Windows 11 或 Windows Server 2022 安装到 Windows 安装镜像 (ISO 文件) 的新数据卷中。自定义应答文件用于运行安装过程。
- Windows BIOS 安装程序管道
- 此管道将 Windows 10 安装到 Windows 安装镜像(也称为 ISO 文件)的新数据卷中。自定义应答文件用于运行安装过程。
- Windows 自定义管道
- 此管道克隆基本 Windows 10、11 或 Windows Server 2022 安装的数据卷,安装 Microsoft SQL Server Express 或 Microsoft Visual Studio Code,然后创建一个新镜像和模板。
示例管道使用 OpenShift Container Platform 预定义的带有 sysprep
的配置映射文件,并适用于 Microsoft ISO 文件。对于与不同 Windows 版本相关的 ISO 文件,可能需要使用特定于系统的 sysprep 定义创建新的配置映射文件。
7.12.4.1. 使用 Web 控制台运行示例管道 复制链接链接已复制到粘贴板!
您可以从 web 控制台中的 Pipelines 菜单运行示例管道。
流程
-
在侧边菜单中点 Pipelines
Pipelines。 - 选择一个管道以打开 Pipeline 详情页面。
- 从 Actions 列表中,选择 Start。此时会显示 Start Pipeline 对话框。
- 保留参数的默认值,然后点 Start 运行管道。Details 选项卡跟踪每个任务的进度,并显示管道状态。
7.12.4.2. 使用 CLI 运行示例管道 复制链接链接已复制到粘贴板!
使用 PipelineRun
资源来运行示例管道。PipelineRun
对象是管道的运行实例。它使用集群上的特定输入、输出和执行参数来实例化 Pipeline 执行。它还为管道中的每个任务创建一个 TaskRun
对象。
流程
要运行 Windows 10 安装程序管道,请创建以下
PipelineRun
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定 Windows 10 64 位 ISO 文件的 URL。产品语言必须是 English (United States)。
应用
PipelineRun
清单:oc apply -f windows10-installer-run.yaml
$ oc apply -f windows10-installer-run.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要运行 Windows 10 自定义管道,请创建以下
PipelineRun
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
PipelineRun
清单:oc apply -f windows10-customize-run.yaml
$ oc apply -f windows10-customize-run.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow