第1章 データサイエンスパイプラインの管理
1.1. パイプラインサーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift AI でパイプラインを正常に作成するには、パイプラインサーバーを設定する必要があります。このタスクには、パイプラインアーティファクトとデータの保存場所の設定が含まれます。
パイプラインサーバーの接続を設定するときに、ストレージディレクトリーを指定する必要はありません。パイプラインをインポートすると、バケットの root フォルダーに、パイプラインの YAML ファイルが含まれる /pipelines フォルダーが作成されます。同じパイプラインの新しいバージョンをアップロードすると、異なる ID を持つ新しい YAML ファイルが /pipelines フォルダーに追加されます。
パイプラインを実行すると、アーティファクトはバケットの root フォルダー内の /pipeline-name フォルダーに保存されます。
外部の MySQL データベースを使用しており、Data Science Pipelines 2.0 を備えた OpenShift AI にアップグレードした場合、データベースは Data Science Pipelines 2.0 形式に移行され、以前のバージョンの OpenShift AI と互換性がなくなります。
前提条件
- Red Hat OpenShift AI にログインしている。
- パイプラインサーバーを追加できるデータサイエンスプロジェクトが作成されている。
- 既存の S3 互換オブジェクトストレージバケットがあり、ストレージアカウントに S3 バケットへの書き込みアクセスが設定されている。
- 実稼働パイプラインワークロード用にパイプラインサーバーを設定する場合は、既存の外部 MySQL または MariaDB データベースがある。
外部 MySQL データベースを使用してパイプラインサーバーを設定する場合、データベースで MySQL バージョン 5.x 以降を使用する必要がある。ただし、Red Hat では MySQL バージョン 8.x の使用を推奨しています。
注記ML メタデータコンポーネントがデータベースに正常に接続するために、
mysql_native_password認証プラグインが必要です。mysql_native_passwordは、MySQL 8.4 以降ではデフォルトで無効になっています。データベースで MySQL 8.4 以降を使用している場合は、MySQL デプロイメントを更新してmysql_native_passwordプラグインを有効にする必要があります。mysql_native_passwordプラグインを有効にする方法の詳細は、MySQL ドキュメントの Native Pluggable Authentication を参照してください。- MariaDB データベースを使用してパイプラインサーバーを設定する場合、データベースで MariaDB バージョン 10.3 以降を使用する必要がある。ただし、Red Hat では MariaDB バージョン 10.5 以降の使用を推奨しています。
手順
OpenShift AI ダッシュボードで、Data science projects をクリックします。
Data science projects のページが開きます。
パイプラインサーバーを設定するプロジェクトの名前をクリックします。
プロジェクトの詳細ページが開きます。
- Pipelines タブをクリックします。
Configure pipeline server をクリックします。
Configure pipeline server ダイアログが開きます。
Object storage connection セクションで、必須フィールドに値を入力します。
- Access key フィールドに、S3 互換オブジェクトストレージプロバイダーのアクセスキー ID を入力します。
- Secret key フィールドに、指定した S3 互換オブジェクトストレージアカウントのシークレットアクセスキーを入力します。
- Endpoint フィールドに、S3 互換オブジェクトストレージバケットのエンドポイントを入力します。
- Region フィールドに、S3 互換オブジェクトストレージアカウントのデフォルトのリージョンを入力します。
Bucket フィールドに、S3 互換のオブジェクトストレージバケットの名前を入力します。
重要誤った接続設定を指定した場合、同じパイプラインサーバー上でこれらの設定を更新できません。したがって、パイプラインサーバーを削除し、別のパイプラインサーバーを設定する必要があります。
パイプラインのタスクによって生成されていない既存のアーティファクトを使用する場合は、kfp.dsl.importer コンポーネント を使用して、その URI からアーティファクトをインポートできます。これらのアーティファクトは、パイプラインサーバー設定の Bucket フィールドで定義した S3 互換オブジェクトストレージバケットにのみインポートできます。
kfp.dsl.importerコンポーネントの詳細は、特殊なケース: インポーターコンポーネント を参照してください。
- Advanced settings をクリックすると、Database、Pipeline definition storage、および Pipeline caching セクションが表示されます。
Database セクションで、次のいずれかのオプションを選択して、パイプラインのメタデータと実行情報を保存する場所を指定します。
プロジェクトに MariaDB データベースをデプロイするには、Default database on the cluster を選択します。
重要Default database on the cluster オプションは、開発およびテスト目的のみを対象とします。実稼働パイプラインのワークロードの場合は、External MySQL database オプションを選択して、外部の MySQL または MariaDB データベースを使用します。
パイプラインサーバーがアクセスできる外部 MySQL または MariaDB データベースへの新しい接続を追加するには External MySQL database を選択します。
- Host フィールドにデータベースのホスト名を入力します。
- Port フィールドにデータベースポートを入力します。
- Username フィールドに、データベースに接続するデフォルトのユーザー名を入力します。
- Password フィールドに、デフォルトのユーザーアカウントのパスワードを入力します。
- Database フィールドに、データベース名を入力します。
- オプション: デフォルトでは、パイプライン定義は Kubernetes リソースとして保存され、バージョン管理、GitOps ワークフロー、OpenShift GitOps または同様のツールとの統合が可能になります。代わりにパイプライン定義を内部データベースに保存するには、Pipeline definition storage セクションの Store pipeline definitions in Kubernetes チェックボックスをオフにします。
- オプション: デフォルトでは、キャッシュはパイプラインレベルとタスクレベルの両方で設定可能です。パイプラインサーバーのすべてのパイプラインとタスクのキャッシュを無効にし、パイプラインレベルとタスクレベルのキャッシュ設定をオーバーライドするには、Pipeline caching セクションの Allow caching to be configured per pipeline and task チェックボックスをオフにします。
- Configure pipeline server をクリックします。
検証
プロジェクトの Pipelines タブで次の操作を行います。
- Import pipeline ボタンを使用できます。
- アクションメニュー (⋮) をクリックし、Manage pipeline server configuration をクリックすると、パイプラインサーバーの詳細が表示されます。
1.1.1. 外部 Amazon RDS データベースを使用したパイプラインサーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
外部の Amazon Relational Database Service (RDS) データベースを使用してパイプラインサーバーを設定するには、認証局 (CA) が発行する証明書を信頼するように OpenShift AI を設定する必要があります。
実稼働パイプラインワークロード用にパイプラインサーバーを設定する場合、Red Hat は外部の MySQL または MariaDB データベースを使用することを推奨します。
前提条件
- OpenShift クラスターのクラスター管理者権限を持っている。
- Red Hat OpenShift AI にログインしている。
- パイプラインサーバーを追加できるデータサイエンスプロジェクトが作成されている。
- 既存の S3 互換オブジェクトストレージバケットがあり、S3 バケットへの書き込みアクセス権を持つストレージアカウントを設定しています。
手順
パイプラインサーバーを設定する前に、Amazon RDS: AWS リージョン別の証明書バンドル から、データベースが作成されたリージョンの PEM 証明書バンドルをダウンロードします。
たとえば、データベースが
us-east-1リージョンに作成された場合は、us-east-1-bundle.pemをダウンロードします。ターミナルウィンドウで、OpenShift AI がデプロイされている OpenShift クラスターにログインします。
oc login api.<cluster_name>.<cluster_domain>:6443 --web
oc login api.<cluster_name>.<cluster_domain>:6443 --webCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、現在の OpenShift AI 信頼済み CA 設定を取得し、新しいファイルに保存します。
oc get dscinitializations.dscinitialization.opendatahub.io default-dsci -o json | jq '.spec.trustedCABundle.customCABundle' > /tmp/my-custom-ca-bundles.crt
oc get dscinitializations.dscinitialization.opendatahub.io default-dsci -o json | jq '.spec.trustedCABundle.customCABundle' > /tmp/my-custom-ca-bundles.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ダウンロードした PEM 証明書バンドルを新しいカスタム CA 設定ファイルに追加します。
cat us-east-1-bundle.pem >> /tmp/my-custom-ca-bundles.crt
cat us-east-1-bundle.pem >> /tmp/my-custom-ca-bundles.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenShift AI の信頼された CA 設定を更新し、新しいカスタム CA 設定ファイルに含まれる、CA 発行の証明書を信頼します。
oc patch dscinitialization default-dsci --type='json' -p='[{"op":"replace","path":"/spec/trustedCABundle/customCABundle","value":"'"$(awk '{printf "%s\\n", $0}' /tmp/my-custom-ca-bundles.crt)"'"}]'oc patch dscinitialization default-dsci --type='json' -p='[{"op":"replace","path":"/spec/trustedCABundle/customCABundle","value":"'"$(awk '{printf "%s\\n", $0}' /tmp/my-custom-ca-bundles.crt)"'"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - パイプラインサーバーの設定 の説明に従って、パイプラインサーバーを設定します。
検証
- パイプラインサーバーが正常に起動しました。
- データサイエンスパイプラインをインポートして実行できます。