4.6. 管理未指定版本的和版本化的集群任务
作为集群管理员,安装 Red Hat OpenShift Pipelines Operator 会为每个默认集群任务创建变体,称为 版本化的集群任务 (VCT) 和非版本的集群任务 (NVCT)。例如,安装 Red Hat OpenShift Pipelines Operator v1.7 创建一个 buildah-1-7-0
VCT 和 buildah
NVCT。
NVCT 和 VCT 具有相同的元数据、行为和规格,包括 params
、workspaces
和 steps
。但是,当禁用 Operator 或升级 Operator 时,它们的行为会有所不同。
4.6.1. 非版本和版本的集群任务之间的区别
非版本的和版本化的集群任务有不同的命名约定。另外,Red Hat OpenShift Pipelines Operator 会不同地升级它们。
非版本的集群任务 | 版本的集群任务 | |
---|---|---|
Nomenclature |
NVCT 仅包含集群任务的名称。例如,随 Operator v1.7 安装的 Buildah NVCT 的名称是 |
VCT 包含集群任务的名称,后接为后缀的版本。例如,由 Operator v1.7 安装的 Buildah 的 VCT 的名称是 |
Upgrade(升级) | 升级 Operator 时,它会使用最新的更改更新非版本的集群任务。NVCT 的名称保持不变。 |
升级 Operator 会安装 VCT 的最新版本并保留更早的版本。VCT 的最新版本对应于升级的 Operator。例如,安装 Operator 1.7 安装 |
4.6.2. 非版本和版本的集群任务的优点和缺陷
在将未指定版本或版本化的集群任务用作生产环境中的标准之前,集群管理员可能会考虑它们的优点和缺点。
集群任务 | 优点 | 缺点 |
---|---|---|
非版本的集群任务 (NVCT) |
| 如果您部署使用 NVCT 的管道,如果自动升级的集群任务不向后兼容,则它们可能会在 Operator 升级后中断。 |
版本化的集群任务 (VCT) |
|
|
4.6.3. 禁用未指定版本和版本的集群任务
作为集群管理员,您可以禁用安装 Pipelines Operator 的集群任务。
流程
要删除所有非版本的集群任务和最新版本的集群任务,请编辑
TektonConfig
自定义资源定义(CRD)并将spec.addon.params
中的clusterTasks
参数设置为false
。TektonConfig
CR 示例apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: params: - name: createRbacResource value: "false" profile: all targetNamespace: openshift-pipelines addon: params: - name: clusterTasks value: "false" ...
当您禁用集群任务时,Operator 会删除所有非版本的集群任务,且只从集群中删除最新版本的集群任务。
注意重新启用集群任务将安装非版本的集群任务。
可选: 要删除早期版本的集群任务,请使用以下方法之一:
要删除个别较早版本的集群任务,请使用
oc delete clustertask
命令,后面是版本化的集群任务名称。例如:$ oc delete clustertask buildah-1-6-0
要删除由旧版本 Operator 创建的所有版本集群任务,您可以删除对应的安装程序设置。例如:
$ oc delete tektoninstallerset versioned-clustertask-1-6-k98as
小心如果您删除旧版本的集群任务,则无法恢复它。您只能恢复当前创建的 Operator 版本和未版本的集群任务。