1.2. 配置 Tekton 结果


安装 OpenShift Pipelines 后,Tekton Results 会被默认启用。

但是,如果要存储和访问管道运行的日志信息和任务运行,您必须配置此信息转发到 LokiStack。

您可以选择为 Tekton Results 完成额外的配置。

1.2.1. 为日志信息配置 LokiStack 转发

如果要使用 Tekton Results 查询任务运行的日志信息,您必须在 OpenShift Container Platform 集群上安装 LokiStack 和 OpenShift Logging,并将日志信息转发到 LokiStack。

如果没有为日志信息配置 LokiStack 转发,Tekton Results 不会存储此信息,或者从命令行界面或 API 提供它。

先决条件

  • 已安装 OpenShift CLI (oc)实用程序。
  • 以集群管理员用户身份登录 OpenShift Container Platform 集群。

流程

要配置 LokiStack 转发,请完成以下步骤:

  1. 在 OpenShift Container Platform 集群中,使用 Loki Operator 安装 LokiStack,同时安装 OpenShift Logging Operator。
  2. 根据您安装的 OpenShift Logging 版本 6 或版本 5,为 ClusterLogForwarder 自定义资源(CR)创建一个 ClusterLogForwarder.yaml 清单文件,包含以下 YAML 清单之一:

    如果安装了 OpenShift Logging 版本 6,ClusterLogForwarder CR 的 YAML 清单

    apiVersion: observability.openshift.io/v1
    kind: ClusterLogForwarder
    metadata:
      name: collector
      namespace: openshift-logging
    spec:
      inputs:
      - application:
          selector:
            matchExpressions:
              - key: app.kubernetes.io/managed-by
                operator: In
                values: ["tekton-pipelines", "pipelinesascode.tekton.dev"]
        name: only-tekton
        type: application
      managementState: Managed
      outputs:
      - lokiStack:
          labelKeys:
            application:
              ignoreGlobal: true
              labelKeys:
              - log_type
              - kubernetes.namespace_name
              - openshift_cluster_id
          authentication:
            token:
              from: serviceAccount
          target:
            name: logging-loki
            namespace: openshift-logging
        name: default-lokistack
        tls:
          ca:
            configMapName: openshift-service-ca.crt
            key: service-ca.crt
        type: lokiStack
      pipelines:
      - inputRefs:
        - only-tekton
        name: default-logstore
        outputRefs:
        - default-lokistack
      serviceAccount:
        name: collector
    Copy to Clipboard Toggle word wrap

    如果安装了 OpenShift Logging 版本 5,ClusterLogForwarder CR 的 YAML 清单

    apiVersion: "logging.openshift.io/v1"
    kind: ClusterLogForwarder
    metadata:
      name: instance
      namespace: openshift-logging
    spec:
      inputs:
      - name: only-tekton
        application:
          selector:
            matchLabels:
              app.kubernetes.io/managed-by: tekton-pipelines
      pipelines:
        - name: enable-default-log-store
          inputRefs: [ only-tekton ]
          outputRefs: [ default ]
    Copy to Clipboard Toggle word wrap

  3. 输入以下命令在 openshift-logging 命名空间中创建 ClusterLogForwarder CR:

    $ oc apply -n openshift-logging ClusterLogForwarder.yaml
    Copy to Clipboard Toggle word wrap
  4. 使用以下命令编辑 TektonConfig 自定义资源(CR):

    $ oc edit TektonConfig config
    Copy to Clipboard Toggle word wrap

    结果 spec 中进行以下更改:

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      result:
        loki_stack_name: logging-loki 
    1
    
        loki_stack_namespace: openshift-logging 
    2
    Copy to Clipboard Toggle word wrap
    1
    LokiStack CR 的名称,通常为 logging-loki
    2
    部署 LokiStack 的命名空间的名称,通常为 openshift-logging

1.2.2. 配置外部数据库服务器

Tekton Results 使用 PostgreSQL 数据库来存储数据。默认情况下,安装包含一个内部 PostgreSQL 实例。您可以将安装配置为使用部署中已存在的外部 PostgreSQL 服务器。

流程

  1. 输入以下命令,使用凭证创建 secret 以连接到 PostgreSQL 服务器:

    $ oc create secret generic tekton-results-postgres \
      --namespace=openshift-pipelines \
      --from-literal=POSTGRES_USER=<user> \
      --from-literal=POSTGRES_PASSWORD=<password>
    Copy to Clipboard Toggle word wrap
  2. 使用以下命令编辑 TektonConfig 自定义资源(CR):

    $ oc edit TektonConfig config
    Copy to Clipboard Toggle word wrap

    结果 spec 中进行以下更改:

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      result:
        is_external_db: true
        db_host: database.example.com 
    1
    
        db_port: 5342 
    2
    Copy to Clipboard Toggle word wrap
    1
    提供 PostgreSQL 服务器的主机名。
    2
    提供 PostgreSQL 服务器的端口号。

1.2.3. 为 Tekton 结果配置保留策略

默认情况下,Tekton Results 存储管道运行、任务运行、事件和日志无限期存储。这会导致存储资源的不必要的使用,并可能会影响您的数据库性能。

您可以在集群级别为 Tekton Results 配置保留策略,以删除旧的结果及其关联的记录和日志。

流程

  • 使用以下命令编辑 TektonConfig 自定义资源(CR):

    $ oc edit TektonConfig config
    Copy to Clipboard Toggle word wrap

    结果 spec 中进行以下更改:

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      result:
        options:
          configMaps:
            config-results-retention-policy:
              data:
                runAt: "3 5 * * 0" 
    1
    
                maxRetention: "30" 
    2
    Copy to Clipboard Toggle word wrap
    1
    以 cron 格式指定在数据库中运行修剪作业时。这个示例在每天的下午 5:03 AM 运行作业。
    2
    指定在数据库中保留数据的天数。这个示例保留 30 天的数据。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部