通过 TektonConfig 在 global 集群中部署 tekton-pipelines

功能概述

通过调整 options 设置,自定义 TektonConfig 资源中各个组件的配置。

使用场景

通常,tekton-pipelines 应部署在各个业务集群中,这些环境专门用于此类部署。

如果用户希望在 global 集群中部署此服务,则需要参考本文档进行配置,因为 global 集群中的网络、认证设置和其他配置与业务集群不同。

前提条件

使用此功能前,请确保满足以下条件:

部署流程

如果用户希望在 global 集群中部署此服务,需要调整 TektonConfig 资源配置,因为 global 集群的网络、认证设置和其他配置与业务集群不同。

要在 global 集群中正确部署 tekton-pipelines,用户必须通过以下 spec.pipeline.options 配置修改 TektonConfig 资源:

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
spec:
  pipeline:
    options:
      disabled: false
      ingress:
        hubs-wrapper:
          spec:
            ingressClassName: global-alb2
      deployments:
        hubs-wrapper:
          spec:
            template:
              spec:
                containers:
                  - env:
                      - name: KUBERNETES_PORT_443_TCP
                        value: tcp://erebus.cpaas-system:443
                      - name: KUBERNETES_PORT_443_TCP_ADDR
                        value: erebus.cpaas-system
                      - name: KUBERNETES_PORT
                        value: tcp://erebus.cpaas-system:443
                      - name: EREBUS
                        value: https://erebus.cpaas-system:443
                      - name: KUBERNETES_SERVICE_HOST
                        value: erebus.cpaas-system
                    name: hubs-wrapper

可选:在 global 集群中部署 tekton-results

如果用户已经在 global 集群中部署了 tekton-results,还需要为 results 组件配置 options。与 pipeline 配置类似,需要为 tektoncd-results-api 组件同时配置 ingress 和 deployment 设置。

将以下配置添加到 spec.result.options 部分:

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
  name: config
spec:
  result:
    options:
      ingress:
        tektoncd-results-api:
          spec:
            ingressClassName: global-alb2
      deployments:
        tektoncd-results-api:
          spec:
            template:
              spec:
                containers:
                  - env:
                      - name: KUBERNETES_PORT_443_TCP
                        value: tcp://erebus.cpaas-system:443
                      - name: KUBERNETES_PORT_443_TCP_ADDR
                        value: erebus.cpaas-system
                      - name: KUBERNETES_PORT
                        value: tcp://erebus.cpaas-system:443
                      - name: EREBUS
                        value: https://erebus.cpaas-system:443
                      - name: KUBERNETES_SERVICE_HOST
                        value: erebus.cpaas-system
                    name: tektoncd-results-api
    disabled: false