×

本指南将指导集群管理员将 Red Hat OpenShift Pipelines 运算符安装到 OpenShift Container Platform 集群的过程。

先决条件

  • 您可以使用具有 `cluster-admin` 权限的帐户访问 OpenShift Container Platform 集群。

  • 您已安装 `oc` CLI。

  • 您已在本地系统上安装了 OpenShift Pipelines (tkn) CLI

  • 您的集群已启用 Marketplace 功能 或手动配置了 Red Hat Operator 目录源。

在同时具有 Windows 和 Linux 节点的集群中,Red Hat OpenShift Pipelines 只能在 Linux 节点上运行。

在 Web 控制台中安装 Red Hat OpenShift Pipelines 运算符

您可以使用 OpenShift Container Platform OperatorHub 中列出的运算符来安装 Red Hat OpenShift Pipelines。安装 Red Hat OpenShift Pipelines 运算符时,管道配置所需的自定义资源 (CR) 将与运算符一起自动安装。

默认的运算符自定义资源定义 (CRD) `config.operator.tekton.dev` 现在已替换为 `tektonconfigs.operator.tekton.dev`。此外,运算符还提供以下其他 CRD 来单独管理 OpenShift Pipelines 组件:`tektonpipelines.operator.tekton.dev`、`tektontriggers.operator.tekton.dev` 和 `tektonaddons.operator.tekton.dev`。

如果您的集群上已安装 OpenShift Pipelines,则现有安装将无缝升级。运算符将用 `tektonconfigs.operator.tekton.dev` 实例替换集群上的 `config.operator.tekton.dev` 实例,并根据需要添加其他 CRD 对象。

如果您手动更改了现有安装,例如通过更改 `resource name - cluster` 字段来更改 `config.operator.tekton.dev` CRD 实例中的目标命名空间,则升级路径不顺畅。在这种情况下,建议的工作流程是卸载您的安装并重新安装 Red Hat OpenShift Pipelines 运算符。

Red Hat OpenShift Pipelines 运算符现在提供了一个选项,允许您通过在 `TektonConfig` 自定义资源 (CR) 中指定配置文件来选择要安装的组件。`TektonConfig` CR 在安装运算符时会自动安装。支持的配置文件包括:

  • 精简版 (Lite):仅安装 Tekton Pipelines。

  • 基础版 (Basic):安装 Tekton Pipelines、Tekton Triggers 和 Tekton Chains。

  • 全部 (All):这是安装 `TektonConfig` CR 时使用的默认配置文件。此配置文件安装所有 Tekton 组件,包括 Tekton Pipelines、Tekton Triggers、Tekton Chains、Pipelines as Code 和 Tekton Addons。Tekton Addons 包括 `ClusterTriggerBindings`、`ConsoleCLIDownload`、`ConsoleQuickStart` 和 `ConsoleYAMLSample` 资源,以及使用来自 `openshift-pipelines` 命名空间的集群解析器可用的任务和步骤操作。

步骤
  1. 在 Web 控制台的**管理员**视角中,导航到**运算符** → **OperatorHub**。

  2. 使用**按关键字筛选**框在目录中搜索 `Red Hat OpenShift Pipelines` 运算符。点击 `Red Hat OpenShift Pipelines` 运算符磁贴。

  3. 阅读 `Red Hat OpenShift Pipelines` 运算符页面上的简短描述。点击**安装**。

  4. 在**安装运算符**页面上

    1. 为**安装模式**选择**集群上的所有命名空间(默认)**。此模式将运算符安装在默认的 `openshift-operators` 命名空间中,这使得运算符能够监视并可用于集群中的所有命名空间。

    2. 为**批准策略**选择**自动**。这确保了运算符生命周期管理器 (OLM) 自动处理对运算符的未来升级。如果您选择**手动**批准策略,OLM 将创建一个更新请求。然后,作为集群管理员,您必须手动批准 OLM 更新请求才能将运算符更新到新版本。

    3. 选择一个**更新通道**。

      • `latest` 通道允许安装最新稳定版本的 Red Hat OpenShift Pipelines 运算符。目前,它是安装 Red Hat OpenShift Pipelines 运算符的默认通道。

      • 要安装特定版本的 Red Hat OpenShift Pipelines 运算符,集群管理员可以使用相应的 `pipelines-<版本>` 通道。例如,要安装 Red Hat OpenShift Pipelines 运算符版本 `1.8.x`,您可以使用 `pipelines-1.8` 通道。

        从 OpenShift Container Platform 4.11 开始,不再提供用于安装和升级 Red Hat OpenShift Pipelines 运算符的 `preview` 和 `stable` 通道。但是,在 OpenShift Container Platform 4.10 和更早版本中,您可以使用 `preview` 和 `stable` 通道来安装和升级运算符。

  5. 点击**安装**。您将在**已安装的运算符**页面上看到该运算符。

    运算符将自动安装到 `openshift-operators` 命名空间中。

  6. 验证**状态**是否设置为**已成功更新**以确认 Red Hat OpenShift Pipelines 运算符已成功安装。

    即使其他组件的安装正在进行中,成功状态也可能显示为**已成功更新**。因此,务必在终端手动验证安装。

  7. 验证 Red Hat OpenShift Pipelines 运算符的所有组件是否已成功安装。登录终端上的集群,并运行以下命令:

    $ oc get tektonconfig config
    示例输出
    NAME     VERSION   READY   REASON
    config   1.17.0     True

    如果**就绪**条件为**真**,则表示运算符及其组件已成功安装。

    此外,通过运行以下命令检查组件的版本:

    $ oc get tektonpipeline,tektontrigger,tektonchain,tektonaddon,pac
    示例输出
    NAME                                          VERSION   READY   REASON
    tektonpipeline.operator.tekton.dev/pipeline   v0.47.0   True
    
    NAME                                        VERSION   READY   REASON
    tektontrigger.operator.tekton.dev/trigger   v0.23.1   True
    
    NAME                                    VERSION   READY   REASON
    tektonchain.operator.tekton.dev/chain   v0.16.0   True
    
    NAME                                    VERSION   READY   REASON
    tektonaddon.operator.tekton.dev/addon   1.11.0     True
    
    NAME                                                             VERSION   READY   REASON
    openshiftpipelinesascode.operator.tekton.dev/pipelines-as-code   v0.19.0   True

使用 CLI 安装 OpenShift Pipelines 运算符

您可以使用 CLI 从 OperatorHub 安装 Red Hat OpenShift Pipelines 运算符。

步骤
  1. 创建一个订阅对象 YAML 文件来订阅命名空间到 Red Hat OpenShift Pipelines 运算符,例如 `sub.yaml`

    示例订阅
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: openshift-pipelines-operator
      namespace: openshift-operators
    spec:
      channel:  <channel name> (1)
      name: openshift-pipelines-operator-rh (2)
      source: redhat-operators (3)
      sourceNamespace: openshift-marketplace (4)
    1 运算符的通道名称。`pipelines-<版本>` 通道是默认通道。例如,Red Hat OpenShift Pipelines 运算符版本 `1.7` 的默认通道是 `pipelines-1.7`。`latest` 通道允许安装最新稳定版本的 Red Hat OpenShift Pipelines 运算符。
    2 要订阅的运算符的名称。
    3 提供运算符的 CatalogSource 的名称。
    4 CatalogSource 的命名空间。对于默认的 OperatorHub CatalogSources,请使用 `openshift-marketplace`。
  2. 创建订阅对象

    $ oc apply -f sub.yaml

    订阅将 Red Hat OpenShift Pipelines 运算符安装到 `openshift-operators` 命名空间中。运算符会自动将 OpenShift Pipelines 安装到默认的 `openshift-pipelines` 目标命名空间中。

受限环境中的 Red Hat OpenShift Pipelines 运算符

Red Hat OpenShift Pipelines 运算符支持在受限网络环境中安装管道。

运算符安装一个代理 Webhook,该 Webhook 根据 `cluster` 代理对象在 tekton-controllers 创建的 pod 的容器中设置代理环境变量。它还在 `TektonPipelines`、`TektonTriggers`、`Controllers`、`Webhooks` 和 `Operator Proxy Webhook` 资源中设置代理环境变量。

默认情况下,代理 Webhook 对于 `openshift-pipelines` 命名空间是禁用的。要为任何其他命名空间禁用它,您可以向 `namespace` 对象添加 `operator.tekton.dev/disable-proxy: true` 标签。

其他资源