1.2. パイプラインの定義


Kubeflow Pipelines SDK を使用すると、エンドツーエンドの機械学習とデータパイプラインを定義できます。最新の Kubeflow Pipelines 2.0 SDK を使用して、Python コードでデータサイエンスパイプラインを構築します。パイプラインを構築したら、SDK を使用してパイプラインを中間表現 (IR) YAML ファイルにコンパイルします。パイプラインを定義した後、YAML ファイルを OpenShift AI ダッシュボードにインポートして、その実行設定を設定できるようにします。

重要

FIPS モードで実行されているクラスターで OpenShift AI を使用している場合、データサイエンスパイプラインのカスタムコンテナーイメージは UBI 9 または RHEL 9 に基づいている必要があります。これにより、FIPS 承認のパイプラインコンポーネントとの互換性が確保され、OpenSSL または GNU C ライブラリー (glibc) のバージョンの不一致に関連するエラーが防止されます。

Elyra JupyterLab 拡張機能を使用して、JupyterLab 内でデータサイエンスパイプラインを作成して実行することもできます。JupyterLab でのパイプラインの作成に関する詳細は、JupyterLab でのパイプラインの使用 を参照してください。Elyra JupyterLab 拡張機能の詳細は、Elyra ドキュメンテーション を参照してください。

1.2.1. Kubernetes API を使用したパイプラインの定義

Kubernetes API を使用してデータサイエンスパイプラインとパイプラインバージョンを定義できます。この方法では、パイプラインとパイプラインバージョンが、内部データベースではなくクラスター内のカスタムリソースとして保存されます。この方法により、OpenShift GitOps (Argo CD) または同様のツールを使用して、パイプラインとパイプラインバージョンを簡単に管理できるようになります。同時に、引き続き OpenShift AI ユーザーインターフェイス (UI)、API、および Kubeflow Pipelines (kfp) ソフトウェア開発キット (SDK) を使用してそれらを管理することもできます。

前提条件

  • 以前に、パイプラインサーバー (DataSciencePipelinesApplication カスタムリソース) を含む利用可能なデータサイエンスプロジェクトを作成した。
  • OpenShift コマンドラインインターフェイス (CLI) がインストールされている。

手順

  1. ターミナルウィンドウで次のコマンドを実行して、OpenShift CLI にログインします。

    $ oc login -u <user_name>
    Copy to Clipboard Toggle word wrap

    プロンプトが表示されたら、OpenShift サーバーの URL、接続タイプ、およびパスワードを入力します。

  2. デフォルトの database オプションの代わりに Kubernetes API ストレージを使用するようにパイプラインサーバーを設定するために、プロジェクトの DataSciencePipelinesApplication (DSPA) カスタムリソースで、spec.apiServer.pipelineStore フィールドを kubernetes に設定します。

    次のコマンドの <dspa_name> を DSPA カスタムリソースの名前に置き換え、<namespace> をプロジェクトの名前に置き換えます。

    $ oc patch dspa <dspa_name> -n <namespace> \
      --type=merge \
      -p {"spec": {"apiServer": {"pipelineStore": "kubernetes"}}}
    Copy to Clipboard Toggle word wrap
    警告

    Kubernetes API ストレージに変更すると、内部データベースに保存されている既存のパイプラインに OpenShift AI UI または REST API 経由でアクセスできなくなります。これらのパイプラインへのアクセスを復元するには、spec.apiServer.pipelineStore フィールドを database に戻してください。

  3. 次の内容を含む YAML ファイルで Pipeline カスタムリソースを定義します。

    パイプライン定義の例

    apiVersion: pipelines.kubeflow.org/v2beta1
    kind: Pipeline
    metadata:
      name: <pipeline_name> 
    1
    
      namespace: <namespace> 
    2
    
    spec:
      displayName: <pipeline_display_name> 
    3
    Copy to Clipboard Toggle word wrap

    1
    この値はパイプラインの名前に置き換えます。
    2
    この値はプロジェクトの名前に置き換えます。
    3
    この値はパイプラインの表示名に置き換えます。
  4. パイプライン定義を適用して、クラスター内に Pipeline カスタムリソースを作成します。

    次のコマンドの <pipeline_yaml_file> を YAML ファイルの名前に置き換えます。

    コマンドの例

    $ oc apply -f <pipeline_yaml_file>.yaml
    Copy to Clipboard Toggle word wrap

  5. 次の内容を含む YAML ファイルで PipelineVersion カスタムリソースを定義します。

    パイプラインバージョン定義の例

    apiVersion: pipelines.kubeflow.org/v2beta1
    kind: PipelineVersion
    metadata:
      name: <pipeline_version_name> 
    1
    
      namespace: <namespace> 
    2
    
    spec:
      pipelineName: <pipeline_name> 
    3
    
      displayName: <pipeline_version_display_name> 
    4
    
      description: This is the first version of the pipeline.
      pipelineSpec: 
    5
    
        # ... generated by kfp compile ...
    Copy to Clipboard Toggle word wrap

    1
    この値はパイプラインバージョンの名前に置き換えます。
    2
    この値はプロジェクトの名前に置き換えます。
    3
    この値はパイプラインの名前に置き換えます。この値は、Pipeline カスタムリソースの metadata.name 値と一致する必要があります。
    4
    この値はパイプラインバージョンの表示名に置き換えます。
    5
    spec.pipelineSpec フィールドは、kfp SDK でコンパイルした後のパイプラインの YAML 表現に置き換えます。
  6. パイプラインバージョン定義を適用して、クラスターに PipelineVersion カスタムリソースを作成します。

    次のコマンドの <pipeline_version_yaml_file> を YAML ファイルの名前に置き換えます。

    コマンドの例

    $ oc apply -f <pipeline_version_yaml_file>.yaml
    Copy to Clipboard Toggle word wrap

    パイプラインバージョンを作成すると、フィルタリングを容易にするために、システムによって次のラベルがパイプラインバージョンに自動的に適用されます。

    自動ラベルの例

    pipelines.kubeflow.org/pipeline-id: <metadata.uid of the pipeline>
    pipelines.kubeflow.org/pipeline: <pipeline name>
    Copy to Clipboard Toggle word wrap

検証

  1. Pipeline カスタムリソースが正常に作成されたことを確認します。

    $ oc get pipeline <pipeline_name> -n <namespace>
    Copy to Clipboard Toggle word wrap
  2. PipelineVersion カスタムリソースが正常に作成されたことを確認します。

    $ oc get pipelineversion <pipeline_version_name> -n <namespace>
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る