1.2. 准备安装 Tekton 结果


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

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"

    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

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

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

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

流程

完成以下步骤之一:

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

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

    在这个命令中,在后续逗号中,如果您为 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

    <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
    2. 输入以下命令应用定义:

      $ oc apply -n openshift-pipelines -f pvc.yaml
  • 要使用 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

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

  • 要使用 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"
      1 1
      S3 存储桶的名称
      2 2
      S3 API 端点 URL
      3
      S3 区域
      4
      S3 访问密钥 ID
      5
      S3 secret 访问密钥
    2. 输入以下命令从文件创建 secret:

      $ oc create secret generic s3-credentials \
        --from-file=s3_secret.yaml -n openshift-pipelines
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.