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 功能门。
				
流程
- 运行以下命令,在默认编辑器中打开 - HyperConvergedCR:- 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