第7章 Data Science Pipelines 2.0 への移行
OpenShift AI のデータサイエンスパイプラインは KubeFlow Pipelines (KFP) バージョン 2.0 をベースにするようになりました。OpenShift AI では、デフォルトで Data Science Pipelines 2.0 が有効化され、デプロイされます。
Data Science Pipelines 2.0 には、Argo Workflows のインストールが含まれています。Red Hat では、Argo Workflows に含まれるこのインスタンスを直接使用することはサポートしていません。
Data Science Pipelines 2.0 を備えた OpenShift AI をインストールする、またはそれにアップグレードするには、クラスターに OpenShift AI 以外でインストールした Argo Workflows の既存インスタンスが存在しないことを確認してください。
OpenShift AI で作成した Argo Workflows リソースには、OpenShift コンソールの Administration > CustomResourceDefinitions の argoproj.io グループで次のラベルが付けられます。
labels: app.kubernetes.io/part-of: data-science-pipelines-operator app.opendatahub.io/data-science-pipelines-operator: 'true'
labels:
app.kubernetes.io/part-of: data-science-pipelines-operator
app.opendatahub.io/data-science-pipelines-operator: 'true'
クラスター上に OpenShift AI によって提供されていない Argo Workflows のインスタンスが存在する場合、OpenShift AI をインストールまたはアップグレードした後にデータサイエンスパイプラインが無効になります。データサイエンスパイプラインを有効にするには、クラスターから Argo Workflows の個別のインスタンスを削除すると、データサイエンスパイプラインが自動的に有効になります。
7.1. Data Science Pipelines 2.0 へのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
Data Science Pipelines 1.0 リソースは、OpenShift AI によってサポートも管理もされなくなりました。ダッシュボードまたは KFP API サーバーから、Data Science Pipelines 1.0 に基づくパイプラインの詳細をデプロイ、表示、または編集することはできなくなりました。
OpenShift AI は、既存の Data Science Pipelines 1.0 インスタンスを 2.0 に自動的に移行しません。OpenShift AI をアップグレードする場合で、既存の Data Science Pipelines 1.0 インスタンスがある場合は、手動で移行する必要があります。
Data Science Pipelines 2.0 にアップグレードするには、次の手順に従います。
GitOps を使用して Data Science Pipelines 1.0 パイプライン実行を管理している場合は、PipelineRuns または DataSciencePipelinesApplications (DSPA) 管理を含むデータサイエンスパイプラインに関連するすべての同期操作を一時停止します。Data Science Pipelines 2.0 に移行すると、PipelineRuns は他の Tekton リソースと同様に、データサイエンスパイプラインとは独立して管理されるようになります。
- パイプラインのデータをバックアップします。
- Red Hat OpenShift AI と Data Science Pipelines 2.0 で新しいクラスターをデプロイ (または別の既存クラスターを使用) し、中間クラスターとして使用します。この中間クラスターを使用して、新しいパイプラインをアップロード、テスト、検証します。
中間クラスターの OpenShift AI で、次のタスクを実行します。
- 新しいデータサイエンスプロジェクトを作成します。
新しいパイプラインサーバーを設定します。
重要外部データベースを使用する場合は、データベースが Data Science Pipelines 2.0 形式に移行されるため、Data Science Pipelines 1.0 で使用するデータベースとは異なる外部データベースを使用する必要があります。
Kubeflow Pipelines v2 への移行 の説明に従って、Data Science Pipelines 1.0 パイプラインを更新して再コンパイルします。
注記Data Science Pipelines 2.0 では
kfp-tektonライブラリーは使用されません。ほとんどの場合、kfp-tektonの使用をkfpライブラリーに置き換えることができます。Data Science Pipelines 2.0 では、KFP SDK の最新バージョンを使用します。詳細は、Kubeflow Pipelines SDK API Reference を参照してください。ヒントOpenShift コンソールの Developer パースペクティブの Pipelines
Project PipelineRuns で、プライマリークラスターの Data Science Pipelines 1.0 パイプライン実行の履歴情報を表示できます。 - 更新されたパイプラインを新しいデータサイエンスプロジェクトにインポートします。
- 新しいパイプラインをテストして検証します。
プライマリークラスターで、次のタスクを実行します。
- Data Science Pipelines 1.0 パイプラインサーバーを削除します。
- オプション: Data Science Pipelines 1.0 リソースを削除します。詳細は、Data Science Pipelines 1.0 リソースの削除 を参照してください。
- Red Hat OpenShift AI をアップグレードします。詳細は、OpenShift AI Cloud Service のアップグレード を参照してください。
プライマリークラスター上の Red Hat OpenShift AI のアップグレードされたインスタンスで、次のタスクを実行します。
Data Science Pipelines 1.0 パイプラインサーバーが存在していた各データサイエンスプロジェクトのパイプラインサーバーを再作成します。
注記GitOps を使用して DSPA を管理している場合は、同期操作を実行する前に DSPA で次のタスクを実行します。
-
spec.dspVersionをv2に設定します。 -
apiVersionがv1alpha1ではなくv1を使用していることを確認します。
-
更新されたデータサイエンスパイプラインを該当するパイプラインサーバーにインポートします。
ヒントKFP SDK クライアント と、
.upload_pipelineおよび.get_pipelineメソッドを使用するスクリプトを作成することで、バッチアップロードを実行できます。
Data Science Pipelines 1.0 と通信するワークベンチの場合は、Red Hat OpenShift AI のアップグレードされたインスタンスで次のタスクを実行します。
- 既存のワークベンチを削除します。詳細は、データサイエンスプロジェクトからワークベンチを削除する を参照してください。
- バージョン 2024.2 以降のワークベンチの場合は、新しいワークベンチを作成する前に Python 3.11 にアップグレードしてください。OpenShift AI で提供されるワークベンチイメージとそのプリインストールパッケージの詳細は、ナレッジベースの記事 Red Hat OpenShift AI: サポートされる構成 を参照してください。
- 削除されたワークベンチの既存の永続ストレージを使用する新しいワークベンチを作成します。詳細は、ワークベンチの作成 を参照してください。
- Data Science Pipelines 2.0 パイプラインサーバーがスケジュールするようにパイプラインを実行します。