21.3. OpenShift Operator パイプラインのインストール


前提条件

OpenShift クラスターの管理者権限。

手順

OpenShift Operator パイプラインは、次の 2 つの方法でインストールできます。

21.3.1. 自動化されたプロセス

Red Hat は、OpenShift Operator Pipeline のインストールに自動プロセスを使用することを推奨しています。自動化されたプロセスにより、CI パイプラインを実行する前にクラスターが適切に設定されていることが保証されます。このプロセスは、Operator をクラスターにインストールします。これにより、手動による介入を必要とせずに、すべての CI パイプラインタスクを自動的に更新できます。このプロセスは、同じクラスター内で多くの Operator を繰り返しテストできるマルチテナントシナリオもサポートします。

以下のステップに従って、Operator を介して OpenShift Operator パイプラインをインストールします。

注記

Operator パイプラインをインストールする前に、Operator バンドルのソースファイルを準備しておいてください。

21.3.1.1. 前提条件

OpenShift Operator パイプラインをインストールする前に、ターミナルウィンドウで以下のコマンドを実行して、すべての前提条件を設定します。

注記

Operator はすべての名前空間を監視します。したがって、secrets/configs/etc がすでに別の名前空間に存在する場合は、既存の名前空間を使用して Operator Pipeline をインストールできます。

  1. 新規の namespace を作成します。

    oc new-project oco
  2. kubeconfig 環境変数を設定します。

    export KUBECONFIG=/path/to/your/cluster/kubeconfig
    注記

    この kubeconfig 変数は、テスト対象の Operator をデプロイし、認定チェックを実行するために使用されます。

    oc create secret generic kubeconfig --from-file=kubeconfig=$KUBECONFIG
  3. 認定結果を送信するには、次のコマンドを実行します。

    • プルリクエストが作成されるリポジトリーに github API トークンを追加します。

      oc create secret generic github-api-token --from-literal GITHUB_TOKEN=<github token>
    • RedHat Container API アクセスキーを追加します。

      oc create secret generic pyxis-api-secret --from-literal pyxis_api_key=< API KEY >

      この API アクセスキーは、Red Hat Partner Connect ポータルの一意のパートナーアカウントに特に関連しています。

  4. ベアメタルで OpenShift クラスターを実行するための前提条件:

    1. ベアメタルで OpenShift クラスターを実行している場合、Operator パイプラインを実行するには 5Gi 永続ボリュームが必要です。次の yaml テンプレートは、ローカルストレージを使用して 5Gi 永続ボリュームを作成するのに役立ちます。

      以下に例を示します。

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: my-local-pv
      spec:
        capacity:
          storage: 5Gi
        volumeMode: Filesystem
        accessModes:
          - ReadWriteOnce
        persistentVoumeReclaimPolicy: Delete
        local:
          path: /dev/vda4  ← use a path from your cluster
        nodeAffinity:
          required:
            nodeSelectorTerms:
              - matchExpressions:
                - key: kubernetes.io/hostname
                  operator: In
                  values:
                    - crc-8k6jw-master-0  ← use the name of one of your cluster’s node
    2. CI パイプラインは、テストと検証のために、Operator バンドルイメージとバンドルイメージインデックスを自動的に構築します。デフォルトでは、パイプラインはクラスター上の OpenShift Container Registry にイメージを作成します。

      ベアメタルでこのレジストリーを使用するには、パイプラインを実行する前に内部イメージレジストリーを設定します。内部イメージレジストリーの設定の詳細な手順は、イメージレジストリーストレージの設定 を参照してください。

      外部のプライベートレジストリーを使用する場合は、シークレットを追加して、アクセス資格情報をクラスターに提供します。詳細な手順については、プライベートコンテナーレジストリーの使用 を参照してください。

21.3.1.2. Operator を介したパイプラインのインストール

次の手順に従って、Operator をクラスターに追加します。

  1. Operator Certification Operator をインストールします。

    • OpenShift クラスターコンソールにログインします。
    • メインメニューから、Operators OperatorHubに移動します。
    • All Items - Filter by keyword フィルター/検索ボックスでフィルターに Operator Certification Operator と入力します。
    • 表示されたら、Operator Certification Operator タイルを選択します。Operator Certification Operator ページが表示されます。
    • Install をクリックします。Install Operator Web ページが表示されます。
    • 下にスクロールして、インストール をクリックします。
    • 演算子の表示 をクリックして、インストールを確認します。
  2. 新しくインストールされた Operator パイプラインにカスタムリソースを適用します。

    • OpenShift Cluster Console にログインします。
    • プロジェクト ドロップダウンメニューから、カスタムリソースを適用するプロジェクトを選択します。
    • Operator Pipeline を展開し、Create instance をクリックします。

      Operator パイプラインの作成 画面には、デフォルト値が自動的に入力されます。

      注記

      前提条件 に従って、すべてのリソース名を作成した場合は、デフォルト値を変更する必要はありません。

    • Create をクリックします。

    カスタムリソースが作成され、Operator が調整を開始します。

検証手順

  1. カスタムリソースの条件を確認してください。

    • OpenShift クラスターコンソールにログインします。
    • Operator パイプラインカスタムリソースを新しく作成したプロジェクトに移動し、カスタムリソースをクリックします。
    • 条件 セクションまで下にスクロールして、すべての ステータス 値が True に設定されているかどうかを確認します。
注記

リソースが調整に失敗した場合は、メッセージ セクションを確認して、エラーを修正するための次の手順を特定してください。

  1. Operator ログを確認してください。

    • ターミナルウィンドウで、次のコマンドを実行します。

      oc get pods -n openshift-marketplace
    • certification-operator-controller-manager pod の完全な podman 名を記録し、次のコマンドを実行します。

      oc get logs -f -n openshift-marketplace <pod name> manager
    • Operator の調整が行われたかどうかを確認します。

21.3.1.3. パイプラインの実行

パイプラインを実行するには、tkn コマンドを実行するディレクトリーのテンプレートフォルダーに workspace-template.yml ファイルがあることを確認します。

workspace-template.yml ファイルを作成するには、ターミナルウィンドウで次のコマンドを実行します。

cat <<EOF> workspace-template.yml
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
EOF

パイプラインはさまざまな 方法 で実行できます。

21.3.2. 手動プロセス

以下のステップに従って、OpenShift Operator パイプラインを手動でインストールします。

21.3.2.1. OpenShift Pipeline Operator のインストール

  1. OpenShift クラスターコンソールにログインします。
  2. メインメニューから、Operators > OperatorHub に移動します。
  3. すべてのアイテム - キーワードでフィルター フィルター/検索ボックスでフィルターに OpenShift Pipelines と入力します。
  4. 表示されたら、Red Hat OpenShift Pipelines タイルを選択します。Red Hat パイプラインページが表示されます。
  5. Install をクリックします。Install Operator Web ページが表示されます。
  6. 下にスクロールして、インストール をクリックします。

21.3.2.2. OpenShift (oc) CLI ツールの設定

クラスターへのアクセスを設定するために使用されるファイルは、kubeconfig ファイルと呼ばれます。これは、設定ファイルを参照する一般的な方法です。kubeconfig ファイルを使用して、クラスター、ユーザー、名前空間、および認証メカニズムに関する情報を整理します。

kubectl コマンドラインツールは、kubeconfig ファイルを使用して、クラスターを選択し、クラスターの API サーバーと通信するために必要な情報を検索します。

  1. ターミナルウィンドウで、KUBECONFIG 環境変数を設定します。
export KUBECONFIG=/path/to/your/cluster/kubeconfig

kubeconfig ファイルは、テスト対象の Operator をデプロイし、認定チェックを実行します。

21.3.2.3. OpenShift プロジェクトの作成

新しい名前空間を作成して、パイプラインでの作業を開始します。

名前空間を作成するには、ターミナルウィンドウで次のコマンドを実行します。

oc adm new-project <my-project-name> # create the project
oc project <my-project-name> # switch into the project
重要

デフォルトのプロジェクトまたは名前空間でパイプラインを実行しないでください。Red Hat は、パイプライン用の新しいプロジェクトを作成することをお勧めします。

21.3.2.4. kubeconfig シークレットの追加

認定パイプラインを実行しているクラスターへの認定用に、kubeconfig を含む kubernetes シークレットを作成します。認定パイプラインでは、OpenShift クラスターで Operator のテストデプロイメントを実行するために kubeconfig が必要です。

kubeconfig シークレットを追加するには、ターミナルウィンドウで次のコマンドを実行します。

oc create secret generic kubeconfig --from-file=kubeconfig=$KUBECONFIG

21.3.2.5. Red Hat カタログからの Operator のインポート

Red Hat カタログ から演算子をインポートします。

ターミナルウィンドウで、次のコマンドを実行します。

oc import-image certified-operator-index \
  --from=registry.redhat.io/redhat/certified-operator-index \
  --reference-policy local \
  --scheduled \
  --confirm \
  --all
oc import-image redhat-marketplace-index \
  --from=registry.redhat.io/redhat/redhat-marketplace-index \
  --reference-policy local \
  --scheduled \
  --confirm \
  --all
注記

IBM Power cluster for ppc64le アーキテクチャーで OpenShift を使用している場合は、許可の問題を回避するために以下のコマンドを実行してください。

oc adm policy add-scc-to-user anyuid -z pipeline

このコマンドは、デフォルトのパイプラインサービスアカウントに anyuid Security Context Constraints (SCC) を付与します。

21.3.2.6. 認定パイプラインの依存関係のインストール

ターミナルウィンドウで、次のコマンドを使用して、クラスターに認定パイプラインの依存関係をインストールします。

$git clone https://github.com/redhat-openshift-ecosystem/operator-pipelines
$cd operator-pipelines
$oc apply -R -f ansible/roles/operator-pipeline/templates/openshift/pipelines
$oc apply -R -f ansible/roles/operator-pipeline/templates/openshift/tasks

21.3.2.7. 認定結果を送信するためのリポジトリーの設定

ターミナルウィンドウで、次のコマンドを実行して、認定結果を送信するためのリポジトリーを設定します。

21.3.2.7.1. GitHub API トークンの追加

すべての設定を実行した後、パイプラインは自動的にプルリクエストを開いて Operator を Red Hat に送信できます。

これを機能的に有効にするには、GitHub API トークンを追加し、パイプラインの実行時に --param submit=true を使用します。

oc create secret generic github-api-token --from-literal GITHUB_TOKEN=<github token>
21.3.2.7.2. Red Hat Container API アクセスキーの追加

Red Hat から受け取る特定のコンテナー API アクセスキーを追加します。

oc create secret generic pyxis-api-secret --from-literal pyxis_api_key=< API KEY >
21.3.2.7.3. ダイジェストの固定を有効にする
注記

このステップは、認定結果を Red Hat に送信するために必須です。

OpenShift Operator パイプラインは、バンドル内のすべてのイメージタグをイメージダイジェスト SHAs に自動的に置き換えることができます。これにより、パイプラインは、すべてのイメージの固定バージョンを使用しているかどうかを確認できます。パイプラインは、固定されたバージョンのバンドルを新しいブランチとして GitHub リポジトリーにコミットします。

この機能を有効にするには、GitHub にアクセスできる秘密鍵を秘密としてクラスターに追加します。

  1. Base64 を使用して、バンドルを含む GitHub リポジトリーにアクセスできる秘密鍵をエンコードします。

    base64 /path/to/private/key
  2. base64 でエンコードされた秘密鍵を含むシークレットを作成します。

    cat << EOF > ssh-secret.yml
    kind: Secret
    apiVersion: v1
    metadata:
      name: github-ssh-credentials
    data:
      id_rsa: |
        <base64 encoded private key>
    EOF
  3. シークレットをクラスターに追加します。

    oc create -f ssh-secret.yml
21.3.2.7.4. プライベートコンテナーレジストリーの使用

パイプラインは、テストと検証のために、Operator バンドルイメージとバンドルイメージインデックスを自動的に構築します。デフォルトでは、パイプラインはクラスター上の OpenShift Container Registry にイメージを作成します。外部プライベートレジストリーを使用する場合は、クラスターにシークレットを追加して資格情報を提供する必要があります。

oc create secret docker-registry registry-dockerconfig-secret \
    --docker-server=quay.io \
    --docker-username=<registry username> \
    --docker-password=<registry password> \
    --docker-email=<registry email>
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る