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 具有相同的元数据、行为和规格,包括 paramsworkspacessteps。但是,当禁用 Operator 或升级 Operator 时,它们的行为会有所不同。

4.6.1. 非版本和版本的集群任务之间的区别

非版本的和版本化的集群任务有不同的命名约定。另外,Red Hat OpenShift Pipelines Operator 会不同地升级它们。

表 4.5. 非版本和版本的集群任务之间的区别
 非版本的集群任务版本的集群任务

Nomenclature

NVCT 仅包含集群任务的名称。例如,随 Operator v1.7 安装的 Buildah NVCT 的名称是 buildah

VCT 包含集群任务的名称,后接为后缀的版本。例如,由 Operator v1.7 安装的 Buildah 的 VCT 的名称是 buildah-1-7-0

Upgrade(升级)

升级 Operator 时,它会使用最新的更改更新非版本的集群任务。NVCT 的名称保持不变。

升级 Operator 会安装 VCT 的最新版本并保留更早的版本。VCT 的最新版本对应于升级的 Operator。例如,安装 Operator 1.7 安装 buildah-1-7-0 并保留 buildah-1-6-0

4.6.2. 非版本和版本的集群任务的优点和缺陷

在将未指定版本或版本化的集群任务用作生产环境中的标准之前,集群管理员可能会考虑它们的优点和缺点。

表 4.6. 非版本和版本的集群任务的优点和缺陷
集群任务优点缺点

非版本的集群任务 (NVCT)

  • 如果您希望使用最新更新和程序错误修复部署管道,请使用 NVCT。
  • 升级 Operator 会升级非版本的集群任务,这会消耗比多个版本的集群任务更少的资源。

如果您部署使用 NVCT 的管道,如果自动升级的集群任务不向后兼容,则它们可能会在 Operator 升级后中断。

版本化的集群任务 (VCT)

  • 如果您的目的是在生产环境中提供稳定的管道,请使用 VCT。
  • 之前的版本会保留在集群中,即使安装了集群任务的更新的版本。您可以继续使用较早的集群任务。
  • 如果您继续使用集群任务的早期版本,您可能会错过最新的功能和关键安全更新。
  • 早期版本的集群任务,它们不正常消耗集群资源。
  • 升级时,Operator 无法管理之前的 VCT。您可以使用 oc delete clustertask 命令手动删除更早的 VCT,但您无法恢复它。

4.6.3. 禁用未指定版本和版本的集群任务

作为集群管理员,您可以禁用安装 Pipelines Operator 的集群任务。

流程

  1. 要删除所有非版本的集群任务和最新版本的集群任务,请编辑 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 会删除所有非版本的集群任务,且只从集群中删除最新版本的集群任务。

    注意

    重新启用集群任务将安装非版本的集群任务。

  2. 可选: 要删除早期版本的集群任务,请使用以下方法之一:

    1. 要删除个别较早版本的集群任务,请使用 oc delete clustertask 命令,后面是版本化的集群任务名称。例如:

      $ oc delete clustertask buildah-1-6-0
    2. 要删除由旧版本 Operator 创建的所有版本集群任务,您可以删除对应的安装程序设置。例如:

      $ oc delete tektoninstallerset versioned-clustertask-1-6-k98as
      小心

      如果您删除旧版本的集群任务,则无法恢复它。您只能恢复当前创建的 Operator 版本和未版本的集群任务。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.