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

目录

功能概述

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

使用场景

通常,tekton-pipelines 应该部署在各个业务集群中,专门针对这些环境进行部署。

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

前提条件

在使用此功能之前,请确保:

部署流程

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

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

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
spec:
  pipeline:
    options:
      ingress:
        tektoncd-hubs-api:
          spec:
            ingressClassName: global-alb2
      deployments:
        tektoncd-hubs-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-hubs-api
      disabled: false

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

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

spec.results.options 部分添加如下配置:

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonResult
metadata:
  name: result
spec:
  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