3.3. OpenShift Pipelines のインストール
以下では、クラスター管理者を対象に、Red Hat OpenShift Pipelines Operator の OpenShift Container Platform クラスターへのインストールプロセスについて説明します。
前提条件
-
cluster-adminパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 -
ocCLI がインストールされている。 -
OpenShift Pipelines (
tkn) CLI がローカルシステムにインストールされている。 - クラスターで Marketplace 機能 が有効になっているか、Red Hat Operator カタログソースが手動で設定されている。
3.3.1. Web コンソールでの Red Hat OpenShift Pipelines Operator のインストール
OpenShift Container Platform OperatorHub に一覧表示されている Operator を使用して Red Hat OpenShift Pipelines をインストールできます。Red Hat OpenShift Pipelines Operator をインストールする際に、パイプラインの設定に必要なカスタムリソース (CR) は Operator と共に自動的にインストールされます。
デフォルトの Operator カスタムリソース定義 (CRD) の config.operator.tekton.dev が tektonconfigs.operator.tekton.dev に置き換えられました。さらに Operator は、個別に管理される OpenShift Pipelines コンポーネントに追加の CRD (tektonpipelines.operator.tekton.dev、tektontriggers.operator.tekton.dev および tektonaddons.operator.tekton.dev) を提供します。
OpenShift Pipelines がクラスターにすでにインストールされている場合、既存のインストールはシームレスにアップグレードされます。Operator は必要に応じて、クラスターの config.operator.tekton.dev のインスタンスを tektonconfigs.operator.tekton.dev のインスタンスと、その他の CRD の追加オブジェクトに置き換えます。
既存のインストールを手動で変更した場合 (resource name - cluster フィールドに変更を加えて config.operator.tekton.dev CRD インスタンスのターゲット namespace を変更する場合など) は、アップグレードパスはスムーズではありません。このような場合は、インストールをアンインストールし、Red Hat OpenShift Pipelines Operator を再インストールするワークフローが推奨されます。
Red Hat OpenShift Pipelines Operator では、TektonConfig カスタムリソース (CR) の一部としてプロファイルを指定することで、インストールするコンポーネントを選択するオプションが提供されるようになりました。TektonConfig CR は Operator のインストール時に自動的にインストールされます。サポートされるプロファイルは以下のとおりです。
- Lite: これは Tekton パイプラインのみをインストールします。
- 基本: Tekton Pipelines、Tekton Triggers、および Tekton Chains がインストールされます。
-
All: これは
TektonConfigCR のインストール時に使用されるデフォルトプロファイルです。このプロファイルは、Tekton Pipelines、Tekton Triggers、Tekton Chains、Pipelines as Code、Tekton Addons を含むすべての Tekton コンポーネントをインストールします。Tekton Addons には、ClusterTasks、ClusterTriggerBindings、ConsoleCLIDownload、ConsoleQuickStart、およびConsoleYAMLSampleリソースが含まれています。
手順
- Web コンソールの Administrator パースペクティブで、Operators → OperatorHub に移動します。
-
Filter by keyword ボックスを使用して、カタログで
Red Hat OpenShift PipelinesOperator を検索します。Red Hat OpenShift Pipelines Operator タイルをクリックします。 - Red Hat OpenShift Pipelines Operator ページで Operator についての簡単な説明を参照してください。Install をクリックします。
Install Operator ページで以下を行います。
-
Installation Mode について All namespaces on the cluster (default) を選択します。このモードは、デフォルトの
openshift-operatorsnamespace で Operator をインストールし、Operator がクラスターのすべての namespace を監視し、これらの namespace に対して利用可能になるようにします。 - Approval Strategy について Automatic を選択します。これにより、Operator への今後のアップグレードは Operator Lifecycle Manager (OLM) によって自動的に処理されます。Manual 承認ストラテジーを選択すると、OLM は更新要求を作成します。クラスター管理者は、Operator を新規バージョンに更新できるように OLM 更新要求を手動で承認する必要があります。
Update Channel を選択します。
-
latestチャネルにより、Red Hat OpenShift Pipelines Operator の最新の安定バージョンをインストールできます。現在、Red Hat OpenShift Pipelines Operator をインストールするためのデフォルトのチャネルです。 Red Hat OpenShift Pipelines Operator の特定のバージョンをインストールするには、クラスター管理者は対応する
pipelines-<version>チャネルを使用できます。たとえば、Red Hat OpenShift Pipelines Operator バージョン1.8.xをインストールするには、pipelines-1.8チャネルを使用できます。注記OpenShift Container Platform 4.11 以降、Red Hat OpenShift Pipelines Operator をインストールおよびアップグレードするための
previewおよびstableチャネルは利用できません。ただし、OpenShift Container Platform 4.10 以前のバージョンでは、previewおよびstableチャンネルを使用して Operator をインストールおよびアップグレードできます。
-
-
Installation Mode について All namespaces on the cluster (default) を選択します。このモードは、デフォルトの
Install をクリックします。Operator が Installed Operators ページに一覧表示されます。
注記Operator は
openshift-operatorsnamespace に自動的にインストールされます。Status が Succeeded Up to date に設定され、Red Hat OpenShift Pipelines Operator のインストールが正常に行われたことを確認します。
警告他のコンポーネントのインストールが進行中の場合でも、成功ステータスが Succeeded Up to date として表示される場合があります。したがって、ターミナルで手動でインストールを確認することが重要です。
Red Hat OpenShift Pipelines Operator のすべてのコンポーネントが正常にインストールされたことを確認します。ターミナルでクラスターにログインし、次のコマンドを実行します。
$ oc get tektonconfig config
出力例
NAME VERSION READY REASON config 1.11.0 True
READY 条件が True の場合、Operator とそのコンポーネントは正常にインストールされています。
さらに、次のコマンドを実行して、コンポーネントのバージョンを確認します。
$ oc get tektonpipeline,tektontrigger,tektonchain,tektonaddon,pac
出力例
NAME VERSION READY REASON tektonpipeline.operator.tekton.dev/pipeline v0.47.0 True NAME VERSION READY REASON tektontrigger.operator.tekton.dev/trigger v0.23.1 True NAME VERSION READY REASON tektonchain.operator.tekton.dev/chain v0.16.0 True NAME VERSION READY REASON tektonaddon.operator.tekton.dev/addon 1.11.0 True NAME VERSION READY REASON openshiftpipelinesascode.operator.tekton.dev/pipelines-as-code v0.19.0 True
3.3.2. CLI を使用した OpenShift Pipelines Operator のインストール
CLI を使用して OperatorHub から Red Hat OpenShift Pipelines Operator をインストールできます。
手順
Subscription オブジェクトの YAML ファイルを作成し、namespace を Red Hat OpenShift Pipelines Operator にサブスクライブします (例:
sub.yaml)。Subscription の例
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: openshift-pipelines-operator namespace: openshift-operators spec: channel: <channel name> 1 name: openshift-pipelines-operator-rh 2 source: redhat-operators 3 sourceNamespace: openshift-marketplace 4
- 1
- Operator のチャンネル名。
pipelines-<version>チャネルがデフォルトのチャネルです。たとえば、Red Hat OpenShift Pipelines Operator バージョン1.7のデフォルトチャネルはpipelines-1.7です。latestチャネルにより、Red Hat OpenShift Pipelines Operator の最新の安定バージョンをインストールできます。 - 2
- サブスクライブする Operator の名前。
- 3
- Operator を提供する CatalogSource の名前。
- 4
- CatalogSource の namespace。デフォルトの OperatorHub CatalogSource には
openshift-marketplaceを使用します。
Subscription オブジェクトを作成します。
$ oc apply -f sub.yaml
Red Hat OpenShift Pipelines Operator がデフォルトのターゲット namespace
openshift-operatorsにインストールされるようになりました。
3.3.3. 制限された環境での Red Hat OpenShift Pipelines Operator
Red Hat OpenShift Pipelines Operator は、ネットワークが制限された環境でのパイプラインのインストールに対してサポートを有効にします。
Operator は、cluster プロキシーオブジェクトに基づいて tekton-controllers によって作成される Pod のコンテナーにプロキシー環境変数を設定するプロキシー Webhook をインストールします。また、プロキシー環境変数を TektonPipelines、TektonTriggers、Controllers、Webhooks、および Operator Proxy Webhook リソースに設定します。
デフォルトで、プロキシー Webhook は openshift-pipelines namespace について無効にされます。他の namespace に対してこれを無効にするには、operator.tekton.dev/disable-proxy: true ラベルを namespace オブジェクトに追加します。
3.3.4. TektonConfig CR を使用したパフォーマンスチューニング
TektonConfig カスタムリソース (CR) の .spec.pipeline.performance パラメーターの下のフィールドを変更して、OpenShift Pipelines コントローラーの高可用性 (HA) サポートとパフォーマンス設定を変更できます。
TektonConfig パフォーマンスフィールドの例
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
pipeline:
performance:
disable-ha: false
buckets: 1
threads-per-controller: 2
kube-api-qps: 5.0
kube-api-burst: 10
フィールドはオプションです。これらを設定すると、Red Hat OpenShift Pipelines Operator には、openshift-pipelines-controller コンテナーの下にある openshift-pipelines-controller デプロイメントに引数としてほとんどのフィールドが含まれます。OpenShift Pipelines Operator は openshift-pipelines namespace の下の config-leader-election 設定マップの buckets フィールドも更新します。
値を指定しない場合、OpenShift Pipelines Operator はそれらのフィールドを更新せず、OpenShift Pipelines コントローラーのデフォルト値を適用します。
いずれかのパフォーマンスフィールドを変更または削除すると、OpenShift Pipelines Operator は openshift-pipelines-controller デプロイメントおよび config-leader-election 設定マップ (buckets フィールドが変更された場合) を更新し、openshift-pipelines-controller Pod を再作成します。
表3.5 OpenShift Pipelines のパフォーマンスを調整するための変更可能なフィールド
| 名前 | 説明 | OpenShift Pipelines コントローラーのデフォルト値 |
|---|---|---|
|
| 高可用性 (HA) サポートを有効または無効にします。デフォルトでは、HA サポートは有効になっています。 |
|
|
| 各 reconciler のキー領域のパーティションに使用されるバケットの数。
各レプリカはこれらのバケットを使用します。バケットを所有するインスタンスは、そのバケットに分割されたキーを調整します。最大値は |
|
|
| OpenShift Pipelines コントローラーのワークキューが処理されるときに使用するスレッド (ワーカー) の数。 |
|
|
| REST クライアントからクラスターマスターへの 1 秒あたりの最大クエリー数 (QPS)。 |
|
|
| スロットルの最大バースト。 |
|
OpenShift Pipelines Operator は、OpenShift Pipelines コントローラーのレプリカの数を制御しません。デプロイメントの replica 設定によって、レプリカの数が決まります。たとえば、レプリカの数を 3 に変更するには、次のコマンドを入力します。
$ oc --namespace openshift-pipelines scale deployment openshift-pipelines-controller --replicas=3
kube-api-qps と kube-api-burst フィールドは、OpenShift Pipelines コントローラーで 2 倍されます。たとえば、kube-api-qps および kube-api-burst の値が 10 の場合、実際の QPS およびバースト値は 20 になります。
3.3.5. 関連情報
- Operator の OpenShift Container Platform へのインストール方法については、adding Operators to a cluster セクションを参照してください。
- Red Hat OpenShift Pipelines Operator を使用して Tekton Chains をインストールするには、Using Tekton Chains for Red Hat OpenShift Pipelines supply chain security を参照してください。
- クラスター内の Tekton Hub をインストールしてデプロイするには、Red Hat OpenShift Pipeline での Tekton Hub の使用 を参照してください。
制限された環境でパイプラインを使用する方法についての詳細は、以下を参照してください。