1.2. 准备安装 Tekton 结果
在安装 Tekton 结果前,您必须完成几个准备步骤。
1.2.1. 使用 SSL 证书准备 secret
Tekton Results 使用 HTTPS 协议提供 REST API,这需要 SSL 证书。使用此证书提供 secret。如果您有一个由证书颁发机构(CA)提供的现有证书,请使用此证书,否则创建自签名证书。
先决条件
-
已安装
openssl
命令行工具。
流程
如果您没有 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 的路由端点。输入以下命令从证书创建传输安全层(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,请完成以下步骤:
使用 PVC 的以下定义,创建名为
pvc.yaml
的文件:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: tekton-logs spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
输入以下命令应用定义:
$ oc apply -n openshift-pipelines -f pvc.yaml
要使用 Google Cloud Storage,请完成以下步骤:
-
使用
gcloud
命令创建应用凭据文件。有关在文件中提供应用程序凭证的说明,请参阅 Google Cloud 文档中的使用 gcloud CLI 提供的用户凭证。 输入以下命令从应用程序凭证文件创建 secret:
$ oc create secret generic gcs-credentials \ --from-file=$HOME/.config/gcloud/application_default_credentials.json \ -n openshift-pipelines
根据需要调整应用程序凭证文件的路径和文件名。
-
使用
要使用 S3 存储桶存储,请完成以下步骤:
使用以下内容创建名为
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"
输入以下命令从文件创建 secret:
$ oc create secret generic s3-credentials \ --from-file=s3_secret.yaml -n openshift-pipelines