4.3. 安装 OpenShift Pipelines
本指南帮助集群管理员了解将 Red Hat OpenShift Pipelines Operator 安装到 OpenShift Container Platform 集群的整个过程。
先决条件
-
可以使用具有
cluster-admin
权限的账户访问 OpenShift Container Platform 集群。 -
已安装了
oc
CLI。 -
您已在本地系统中安装了 OpenShift Pipelines ( tkn
)
CLI。
4.3.1. 在 Web 控制台中安装 Red Hat OpenShift Pipelines Operator
您可以使用 OpenShift Container Platform OperatorHub 中列出的 Operator 来安装 Red Hat OpenShift Pipelines。安装 Red Hat OpenShift Pipelines Operator 时,管道配置所需的自定义资源(CR)与 Operator 一起自动安装。
默认 Operator 自定义资源定义(CRD)config.operator.tekton.dev
现在被 tektonconfigs.operator.tekton.dev
替代。另外,Operator 提供以下额外的 CRD 来单独管理 OpenShift Pipelines 组件:tektonpipelines.operator.tekton.dev
、tektontriggers.operator.tekton.dev
和 tektonaddons.operator.tekton.dev
。
如果在集群中安装了 OpenShift Pipelines,现有安装会无缝升级。Operator 会根据需要将集群中的 config.operator.tekton.dev
实例替换为 tektonconfigs.operator.tekton.dev
实例,以及其它 CRD 的额外对象。
如果您手动更改现有安装,例如,在 config.operator.tekton.dev
CRD 实例中修改了目标命名空间(更改了 resource name - cluster
的项),则升级过程将不会非常流畅。在这种情况下,推荐的工作流是,先卸载安装,然后再重新安装 Red Hat OpenShift Pipelines Operator。
Red Hat OpenShift Pipelines Operator 现在提供了选择您要安装的组件的选项,方法是作为 TektonConfig
CR 的一部分来指定配置集。在安装 Operator 时会自动安装 TektonConfig
CR。支持的配置集有:
- Lite:只安装 Tekton Pipelines。
- Basic:安装 Tekton Pipelines 和 Tekton Triggers。
-
All:在安装了
TektonConfig
CR 时,使用的默认配置集。此配置集安装所有 Tekton 组件: Tekton Pipelines、Tekton Triggers、Tekton Addons(包括ClusterTasks
、ClusterTriggerBindings
、ConsoleCLIDownload
、ConsoleQuickStart
和ConsoleYAMLSample
资源)。
流程
-
在控制台的 Administrator 视角中,导航到 Operators
OperatorHub。 -
使用 Filter by keyword 复选框在目录中搜索
Red Hat OpenShift Pipelines
Operator。点 Red Hat OpenShift Pipelines Operator 标题。 - 参阅 Red Hat OpenShift Pipelines Operator 页中有关 Operator 的简单描述。点 Install。
在 Install Operator 页面中:
-
为 Installation Mode 选择 All namespaces on the cluster (default)。选择该项会将 Operator 安装至默认
openshift-operators
命名空间,这将启用 Operator 以进行监视并在集群中的所有命名空间中可用。 - 为 Approval Strategy 选择 Automatic。这样可确保以后对 Operator 的升级由 Operator Lifecycle Manager (OLM) 自动进行。如果您选择 Manual 批准策略,OLM 会创建一个更新请求。作为集群管理员,您必须手动批准 OLM 更新请求,才可将 Operator 更新至新版本。
选择一个 Update Channel。
- stable 频道启用 Red Hat OpenShift Pipelines Operator 最新稳定并支持的发行版本。
- preview 频道启用 Red Hat OpenShift Pipelines Operator 的最新预览版本,该版本可能包含 stable 频道中还未提供且不被支持的功能。
-
为 Installation Mode 选择 All namespaces on the cluster (default)。选择该项会将 Operator 安装至默认
点 Install。您会看到 Installed Operators 页面中列出的 Operator。
注意Operator 会自动安装到
openshift-operators
命名空间中。检查 Status 是否已被设置为 Succeeded Up to date 来确认 Red Hat OpenShift Pipelines Operator 已安装成功。
警告即使其他组件的安装正在进行中,成功状态也可能会显示为 Succeeded Up to date。因此,在终端中手动验证安装非常重要。
验证 Red Hat OpenShift Pipelines Operator 的所有组件都已成功安装。在终端中登录到集群,并运行以下命令:
$ oc get tektonconfig config
输出示例
NAME VERSION READY REASON config 1.9.2 True
如果 READY 条件为 True,则代表 Operator 及其组件已被成功安装。
另外,运行以下命令来检查组件版本:
$ oc get tektonpipeline,tektontrigger,tektonaddon,pac
输出示例
NAME VERSION READY REASON tektonpipeline.operator.tekton.dev/pipeline v0.41.1 True NAME VERSION READY REASON tektontrigger.operator.tekton.dev/trigger v0.22.2 True NAME VERSION READY REASON tektonaddon.operator.tekton.dev/addon 1.9.2 True NAME VERSION READY REASON openshiftpipelinesascode.operator.tekton.dev/pipelines-as-code v0.15.5 True
4.3.2. 使用 CLI 安装 OpenShift Pipelines Operator
您可以使用 CLI 从 OperatorHub 安装 Red Hat OpenShift Pipelines Operator。
流程
创建一个订阅对象 YAML 文件,以便为 Red Hat OpenShift Pipelines Operator 订阅一个命名空间,如
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
创建订阅对象:
$ oc apply -f sub.yaml
Red Hat OpenShift Pipelines Operator 现在安装在默认目标命名空间
openshift-operators
中。
4.3.3. 在受限环境中的 Red Hat OpenShift Pipelines Operator
Red Hat OpenShift Pipelines Operator 支持在受限网络环境中安装管道。
Operator 会安装代理 Webhook,它会根据 cluster
代理对象在由 tekton-controllers 创建的 pod 容器中设置代理环境变量。它还会在 TektonPipelines
、TektonTriggers
、Controllers
、Webhooks
和 Operator Proxy Webhook
资源中设置代理环境变量。
默认情况下,openshift-pipelines
命名空间禁用代理 Webhook。要为任何其他命名空间禁用它,您可以在 namespace
对象中添加 operator.tekton.dev/disable-proxy: true
标签。
4.3.4. 禁用自动创建 RBAC 资源
Red Hat OpenShift Pipelines Operator 的默认安装会为集群中的所有命名空间创建多个基于角色的访问控制(RBAC)资源,但与 ^(openshift|kube)-*
正则表达式模式匹配的命名空间除外。在这些 RBAC 资源中,pipelines-scc-rolebinding
安全性上下文约束(SCC)角色绑定资源是一个潜在的安全问题,因为关联的 pipelines-scc
SCC 具有 RunAsAny
特权。
要在安装 Red Hat OpenShift Pipelines Operator 后禁用集群范围的 RBAC 资源,集群管理员可在集群级 TektonConfig
自定义资源(CR)中将 createRbacResource
参数设置为 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: "true" - name: pipelineTemplates value: "true" ...
作为集群管理员或具有适当权限的用户,当您为所有命名空间禁用自动创建 RBAC 资源时,默认的 ClusterTask
资源无法正常工作。要使 ClusterTask
资源正常工作,您必须手动为每个预期的命名空间创建 RBAC 资源。
4.3.5. 其他资源
- 您可以参阅将 Operators 添加到集群一节中的内容来了解更多有关在 OpenShift Container Platform 上安装 Operator 的信息。
- 要使用 Red Hat OpenShift Pipelines Operator 安装 Tekton 链,请参阅为 Red Hat OpenShift Pipelines 提供链安全 使用 Tekton 链。
- 要安装和部署 in-cluster Tekton Hub,请参阅 使用带有 Red Hat OpenShift Pipelines 的 Tekton Hub。
有关在受限环境中使用管道的更多信息,请参阅: