4.3. OpenShift Pipelines のインストール
以下では、クラスター管理者を対象に、Red Hat OpenShift Pipelines Operator の OpenShift Container Platform クラスターへのインストールプロセスについて説明します。
前提条件
-
cluster-admin
パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 -
oc
CLI がインストールされている。 -
OpenShift Pipelines (
tkn
) CLI がローカルシステムにインストールされていること。
4.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 パイプラインのみをインストールします。
- Basic: これは Tekton パイプラインと Tekton トリガーをインストールします。
-
All: これは
TektonConfig
CR のインストール時に使用されるデフォルトプロファイルです。このプロファイルは、Tekton Pipelines、Tekton Triggers、Tekton Addons (ClusterTasks
、ClusterTriggerBindings
、ConsoleCLIDownload
、ConsoleQuickStart
およびConsoleYAMLSample
リソースを含む) のすべてをインストールします。
手順
-
Web コンソールの Administrator パースペクティブで、Operators
OperatorHub に移動します。 -
Filter by keyword ボックスを使用して、カタログで
Red Hat OpenShift Pipelines
Operator を検索します。Red Hat OpenShift Pipelines Operator タイルをクリックします。 - Red Hat OpenShift Pipelines Operator ページで Operator についての簡単な説明を参照してください。Install をクリックします。
Install Operator ページで以下を行います。
-
Installation Mode について All namespaces on the cluster (default) を選択します。このモードは、デフォルトの
openshift-operators
namespace で Operator をインストールし、Operator がクラスターのすべての namespace を監視し、これらの namespace に対して利用可能になるようにします。 - Approval Strategy について Automatic を選択します。これにより、Operator への今後のアップグレードは Operator Lifecycle Manager (OLM) によって自動的に処理されます。Manual 承認ストラテジーを選択すると、OLM は更新要求を作成します。クラスター管理者は、Operator を新規バージョンに更新できるように OLM 更新要求を手動で承認する必要があります。
Update Channel を選択します。
- Stable チャネルは、Red Hat OpenShift Pipelines Operator の最新の安定したサポートされているリリースのインストールを可能にします。
- preview チャネルは、Red Hat OpenShift Pipelines Operator の最新プレビューバージョンのインストールを有効にします。これには、Stable チャネルでは利用できず、サポートされていない機能が含まれる場合があります。
-
Installation Mode について All namespaces on the cluster (default) を選択します。このモードは、デフォルトの
Install をクリックします。Operator が Installed Operators ページに一覧表示されます。
注記Operator は
openshift-operators
namespace に自動的にインストールされます。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.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
4.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
Subscription オブジェクトを作成します。
$ oc apply -f sub.yaml
Red Hat OpenShift Pipelines Operator がデフォルトのターゲット namespace
openshift-operators
にインストールされるようになりました。
4.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
オブジェクトに追加します。
4.3.4. RBAC リソースの自動作成の無効化
Red Hat OpenShift Pipelines Operator のデフォルトインストールは、^(openshift|kube)-*
正規表現パターンに一致する namespace を除き、クラスター内のすべての namespace について複数のロールベースアクセス制御 (RBAC) リソースを作成します。これらの RBAC リソースの中で、pipelines-scc-rolebinding
SCC (security context constraint) のロールバインディングリソースは、関連する pipelines-scc
SCC に RunAsAny
権限があるため、セキュリティー上の問題となる可能性があります。
Red Hat OpenShift Pipelines Operator のインストール後にクラスター全体の RBAC リソースの自動作成を無効にするために、クラスター管理者は、クラスターレベルの TektonConfig
カスタムリソース (CR) で createRbacResource
パラメーターを false
に設定します。
TektonConfig
CR の例
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: params: - name: createRbacResource value: "false" profile: all targetNamespace: openshift-pipelines addon: params: - name: clusterTasks value: "true" - name: pipelineTemplates value: "true" ...
クラスター管理者または適切な権限を持つユーザーとして、すべての namespace の RBAC リソースの自動作成を無効にすると、デフォルトの ClusterTask
リソースは機能しません。ClusterTask
リソースを機能させるには、それぞれの意図された namespace について RBAC リソースを手動で作成する必要があります。
4.3.5. 関連情報
- Operator の OpenShift Container Platform へのインストール方法については、Operator のクラスターへの追加 セクションを参照してください。
- Red Hat OpenShift Pipelines Operator を使用して Tekton Chains をインストールするには、Red Hat OpenShift Pipelines サプライチェーンセキュリティー用 Tekton Chains の使用 を参照してください。
- クラスター内の Tekton Hub をインストールしてデプロイするには、Red Hat OpenShift Pipeline での Tekton Hub の使用 を参照してください。
制限された環境でパイプラインを使用する方法についての詳細は、以下を参照してください。