11.14. 使用 OpenShift Pipelines 管理虚拟机
Red Hat OpenShift Pipelines 是一个 Kubernetes 原生 CI/CD 框架,允许开发人员在其自己的容器中设计和运行 CI/CD 管道的每个步骤。
Tekton Tasks Operator (TTO) 将 OpenShift Virtualization 与 OpenShift Pipelines 集成。TTO 包含集群任务和示例管道,允许您:
- 创建和管理虚拟机 (VM)、持久性卷声明 (PVC) 和数据卷
- 在虚拟机中运行命令
-
使用
libguestfs工具操作磁盘镜像
使用 Red Hat OpenShift Pipelines 管理虚拟机只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
11.14.1. 先决条件 复制链接链接已复制到粘贴板!
-
您可以使用
cluster-admin权限访问 OpenShift Container Platform 集群。 -
已安装 OpenShift CLI(
oc)。 - 已安装 OpenShift Pipelines。
11.14.2. 部署 Tekton Tasks Operator 资源 复制链接链接已复制到粘贴板!
安装 OpenShift Virtualization 时,默认不会部署 Tekton Tasks Operator (TTO) 集群任务和示例管道。要部署 TTO 资源,请在 HyperConverged 自定义资源 (CR) 中启用 deployTektonTaskResources 功能门。
流程
运行以下命令,在默认编辑器中打开
HyperConvergedCR:oc edit hco -n openshift-cnv kubevirt-hyperconverged
$ oc edit hco -n openshift-cnv kubevirt-hyperconvergedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
spec.featureGates.deployTektonTaskResources字段设置为true。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意即使稍后禁用功能门,集群任务和示例管道仍可用。
- 保存更改并退出编辑器。
11.14.3. Tekton Tasks Operator 支持的虚拟机任务 复制链接链接已复制到粘贴板!
下表显示了作为 Tekton Tasks Operator 一部分的集群任务。
| 任务 | 描述 |
|---|---|
|
| 从模板创建虚拟机。 |
|
| 复制虚拟机模板。 |
|
| 修改虚拟机模板。 |
|
| 创建和删除数据卷或数据源。 |
|
| 在虚拟机上运行脚本或命令,并在之后停止或删除虚拟机。 |
|
|
使用 |
|
|
使用 |
|
| 等待虚拟机实例的特定状态,并根据状态失败或成功。 |
11.14.4. 管道示例 复制链接链接已复制到粘贴板!
Tekton Tasks 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,然后创建一个新镜像和模板。
11.14.4.1. 使用 Web 控制台运行示例管道 复制链接链接已复制到粘贴板!
您可以从 web 控制台中的 Pipelines 菜单运行示例管道。
流程
-
在侧边菜单中点 Pipelines
Pipelines。 - 选择一个管道以打开 Pipeline 详情页面。
- 从 Actions 列表中,选择 Start。此时会显示 Start Pipeline 对话框。
- 保留参数的默认值,然后点 Start 运行管道。Details 选项卡跟踪每个任务的进度,并显示管道状态。
11.14.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.yamlCopy 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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow