3.3. OpenShift Pipelines のインストール

以下では、クラスター管理者を対象に、Red Hat OpenShift Pipelines Operator の OpenShift Container Platform クラスターへのインストールプロセスについて説明します。

前提条件

  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。
  • oc CLI がインストールされている。
  • 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.devtektonconfigs.operator.tekton.dev に置き換えられました。さらに Operator は、個別に管理される OpenShift Pipelines コンポーネントに追加の CRD (tektonpipelines.operator.tekton.devtektontriggers.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: これは TektonConfig CR のインストール時に使用されるデフォルトプロファイルです。このプロファイルは、Tekton Pipelines、Tekton Triggers、Tekton Chains、Pipelines as Code、Tekton Addons を含むすべての Tekton コンポーネントをインストールします。Tekton Addons には、ClusterTasksClusterTriggerBindingsConsoleCLIDownloadConsoleQuickStart、および ConsoleYAMLSample リソースが含まれています。

手順

  1. Web コンソールの Administrator パースペクティブで、OperatorsOperatorHub に移動します。
  2. Filter by keyword ボックスを使用して、カタログで Red Hat OpenShift Pipelines Operator を検索します。Red Hat OpenShift Pipelines Operator タイルをクリックします。
  3. Red Hat OpenShift Pipelines Operator ページで Operator についての簡単な説明を参照してください。Install をクリックします。
  4. Install Operator ページで以下を行います。

    1. Installation Mode について All namespaces on the cluster (default) を選択します。このモードは、デフォルトの openshift-operators namespace で Operator をインストールし、Operator がクラスターのすべての namespace を監視し、これらの namespace に対して利用可能になるようにします。
    2. Approval Strategy について Automatic を選択します。これにより、Operator への今後のアップグレードは Operator Lifecycle Manager (OLM) によって自動的に処理されます。Manual 承認ストラテジーを選択すると、OLM は更新要求を作成します。クラスター管理者は、Operator を新規バージョンに更新できるように OLM 更新要求を手動で承認する必要があります。
    3. 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 をインストールおよびアップグレードできます。

  5. Install をクリックします。Operator が Installed Operators ページに一覧表示されます。

    注記

    Operator は openshift-operators namespace に自動的にインストールされます。

  6. StatusSucceeded Up to date に設定され、Red Hat OpenShift Pipelines Operator のインストールが正常に行われたことを確認します。

    警告

    他のコンポーネントのインストールが進行中の場合でも、成功ステータスが Succeeded Up to date として表示される場合があります。したがって、ターミナルで手動でインストールを確認することが重要です。

  7. 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 をインストールできます。

手順

  1. 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 を使用します。
  2. 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 をインストールします。また、プロキシー環境変数を TektonPipelinesTektonTriggersControllersWebhooks、および 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 コントローラーのデフォルト値

disable-ha

高可用性 (HA) サポートを有効または無効にします。デフォルトでは、HA サポートは有効になっています。

false

buckets

各 reconciler のキー領域のパーティションに使用されるバケットの数。

各レプリカはこれらのバケットを使用します。バケットを所有するインスタンスは、そのバケットに分割されたキーを調整します。最大値は 10 です。

1

threads-per-controller

OpenShift Pipelines コントローラーのワークキューが処理されるときに使用するスレッド (ワーカー) の数。

2

kube-api-qps

REST クライアントからクラスターマスターへの 1 秒あたりの最大クエリー数 (QPS)。

5.0

kube-api-burst

スロットルの最大バースト。

10

注記

OpenShift Pipelines Operator は、OpenShift Pipelines コントローラーのレプリカの数を制御しません。デプロイメントの replica 設定によって、レプリカの数が決まります。たとえば、レプリカの数を 3 に変更するには、次のコマンドを入力します。

$ oc --namespace openshift-pipelines scale deployment openshift-pipelines-controller --replicas=3
重要

kube-api-qpskube-api-burst フィールドは、OpenShift Pipelines コントローラーで 2 倍されます。たとえば、kube-api-qps および kube-api-burst の値が 10 の場合、実際の QPS およびバースト値は 20 になります。

3.3.5. 関連情報