1.2. 准备安装 Tekton 结果


在安装 Tekton Results 前,您必须完成几个准备步骤。

1.2.1. 使用 SSL 证书准备 secret

Tekton Results 使用 HTTPS 协议提供 REST API,该协议需要 SSL 证书。提供带有此证书的 secret。如果您有证书颁发机构(CA)提供的现有证书,请使用此证书,否则创建自签名证书。

先决条件

  • 已安装 openssl 命令行工具。

流程

  1. 如果您没有 CA 提供的证书,请输入以下命令创建自签名证书:

    $ openssl req -x509 \
    -newkey rsa:4096 \
    -keyout key.pem \
    -out cert.pem \
    -days 365 \
    -nodes \
    -subj "/CN=tekton-results-api-service.openshift-pipelines.svc.cluster.local" \
    -addext "subjectAltName = DNS:tekton-results-api-service.openshift-pipelines.svc.cluster.local"
    Copy to Clipboard Toggle word wrap

    tekton-results-api-service.openshift-pipelines.svc.cluster.local 替换为您计划用于 Tekton Results API 的路由端点。

  2. 输入以下命令,从证书创建传输安全层(TLS) secret:

    $ oc create secret tls -n openshift-pipelines tekton-results-tls --cert=cert.pem --key=key.pem
    Copy to Clipboard Toggle word wrap

    如果要使用 CA 提供的现有证书,请将 cert.pem 替换为包含此证书的文件的名称。

1.2.2. 使用数据库凭证准备 secret

Tekton Results 使用 PostgreSQL 数据库存储数据。您可以将安装配置为使用通过 Tekton Results 自动安装的 PostgreSQL 服务器,或部署中已存在的外部 PostgreSQL 服务器。在这两种情况下,为机密提供数据库凭据。

流程

完成以下步骤之一:

  • 如果您不需要使用外部 PostgreSQL 服务器,请输入以下命令使用名为 result 的数据库用户以及 openshift-pipelines 命名空间中的随机密码创建一个 secret:

    $ oc create secret generic tekton-results-postgres \
      --namespace=openshift-pipelines \
      --from-literal=POSTGRES_USER=result \
      --from-literal=POSTGRES_PASSWORD=$(openssl rand -base64 20)
    Copy to Clipboard Toggle word wrap
    注意

    在这个命令中,如果为 OpenShift Pipelines 配置了自定义目标命名空间,请使用此命名空间的名称,而不是 openshift-pipelines

  • 如果要使用外部 PostgreSQL 数据库服务器来存储 Tekton Results 数据,请输入以下命令使用这个服务器的凭证创建一个 secret:

    $ oc create secret generic tekton-results-postgres \
      --namespace=openshift-pipelines \
      --from-literal=POSTGRES_USER=<user> \ 
    1
    
      --from-literal=POSTGRES_PASSWORD=<password> 
    2
    Copy to Clipboard Toggle word wrap

    <user > 替换为 Tekton Results 必须使用的 PostgreSQL 用户的用户名。将 <password > 替换为同一帐户的密码。

1.2.3. 为日志信息准备存储

Tekton Results 使用单独的存储来记录与管道运行和任务运行相关的信息。您可以配置以下存储类型之一:

  • Red Hat OpenShift Pipelines 集群上的持久性卷声明(PVC)
  • Google Cloud Storage
  • S3 存储桶存储

流程

完成以下流程之一:

  • 要使用 PVC,请完成以下步骤:

    1. 使用 PVC 的以下定义,创建一个名为 pvc.yaml 的文件:

        apiVersion: v1
        kind: PersistentVolumeClaim
        metadata:
          name: tekton-logs
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 1Gi
      Copy to Clipboard Toggle word wrap
    2. 输入以下命令应用定义:

      $ oc apply -n openshift-pipelines -f pvc.yaml
      Copy to Clipboard Toggle word wrap
  • 要使用 Google Cloud Storage,请完成以下步骤:

    1. 使用 gcloud 命令创建应用程序凭据文件。有关在文件中提供应用程序凭证的说明,请参阅 Google Cloud 文档中的使用 gcloud CLI 提供的用户凭证
    2. 输入以下命令从应用程序凭证文件创建 secret:

      $ oc create secret generic gcs-credentials \
        --from-file=$HOME/.config/gcloud/application_default_credentials.json \
        -n openshift-pipelines
      Copy to Clipboard Toggle word wrap

      根据需要调整应用程序凭证文件的路径和文件名。

  • 要使用 S3 存储桶存储,请完成以下步骤:

    1. 使用以下内容创建名为 s3_secret.yaml 的文件:

        apiVersion: v1
        kind: Secret
        metadata:
          name: my_custom_secret
          namespace: tekton-pipelines
        type: Opaque
        stringData:
          S3_BUCKET_NAME: bucket1 
      1
      
          S3_ENDPOINT: https://example.localhost.com 
      2
      
          S3_HOSTNAME_IMMUTABLE: "false"
          S3_REGION: region-1 
      3
      
          S3_ACCESS_KEY_ID: "1234" 
      4
      
          S3_SECRET_ACCESS_KEY: secret_key 
      5
      
          S3_MULTI_PART_SIZE: "5242880"
      Copy to Clipboard Toggle word wrap
      1 1
      S3 存储桶的名称
      2 2
      S3 API 端点 URL
      3
      S3 区域
      4
      S3 访问密钥 ID
      5
      S3 secret access key
    2. 输入以下命令从文件创建 secret:

      $ oc create secret generic s3-credentials \
        --from-file=s3_secret.yaml -n openshift-pipelines
      Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat