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 パイプラインのみをインストールします。
  • Basic: これは Tekton パイプラインと Tekton トリガーをインストールします。
  • All: これは TektonConfig CR のインストール時に使用されるデフォルトプロファイルです。このプロファイルは、Tekton Pipelines、Tekton Triggers、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.9.2     True

    READY 条件が True の場合、Operator とそのコンポーネントは正常にインストールされています。

    さらに、次のコマンドを実行して、コンポーネントのバージョンを確認します。

    $ oc get tektonpipeline,tektontrigger,tektonaddon,pac

    出力例

    NAME                                          VERSION   READY   REASON
    tektonpipeline.operator.tekton.dev/pipeline   v0.41.1   True
    NAME                                        VERSION   READY   REASON
    tektontrigger.operator.tekton.dev/trigger   v0.22.2   True
    NAME                                    VERSION   READY   REASON
    tektonaddon.operator.tekton.dev/addon   1.9.2     True
    NAME                                                             VERSION   READY   REASON
    openshiftpipelinesascode.operator.tekton.dev/pipelines-as-code   v0.15.5   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. 関連情報