1.2. Tekton Results のインストールの準備
Tekton Results をインストールする前に、いくつかの準備手順を完了する必要があります。
1.2.1. SSL 証明書を使用したシークレットの準備
Tekton Results は、SSL 証明書を必要とする HTTPS プロトコルを使用した REST API を提供します。この証明書にシークレットを指定します。認証局 (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) シークレットを作成します。
$ oc create secret tls -n openshift-pipelines tekton-results-tls --cert=cert.pem --key=key.pem
CA によって提供された既存の証明書を使用する場合は、
cert.pem
をこの証明書を含むファイルの名前に置き換えます。
1.2.2. データベース認証情報を使用したシークレットの準備
Tekton Results は、PostgreSQL データベースを使用してデータを保存します。Tekton Results とともに自動的にインストールされる PostgreSQL サーバー、またはデプロイメント内にすでに存在する外部 PostgreSQL サーバーのいずれかを使用するようにインストールを設定できます。どちらの場合も、データベースの認証情報にシークレットを指定します。
手順
次のいずれかの手順を実行します。
外部 PostgreSQL サーバーを使用する必要がない場合は、次のコマンドを入力して、
openshift-pipelines
namespace にresult
という名前のデータベースユーザーと任意のパスワードを使用してシークレットを作成します。$ 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 のカスタムターゲット namespace を設定した場合は、
openshift-pipelines
の代わりにこの namespace の名前を使用します。外部 PostgreSQL データベースサーバーを使用して Tekton Results データを保存する場合は、次のコマンドを入力して、このサーバーの認証情報を使用してシークレットを作成します。
$ 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 クラスター上の Persistent Volume Claim (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 を使用して提供されるユーザー認証情報 を参照してください。 次のコマンドを入力して、アプリケーション認証情報ファイルからシークレットを作成します。
$ 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"
次のコマンドを入力して、ファイルからシークレットを作成します。
$ oc create secret generic s3-credentials \ --from-file=s3_secret.yaml -n openshift-pipelines