3.9. KServe デプロイメントモードについて
デフォルトでは、モデルの serverless デプロイメントを可能にするクラウドネイティブ開発モデルである Red Hat OpenShift Serverless を使用して、KServe でシングルモデルサービングプラットフォームにモデルをデプロイできます。OpenShift Serverless は、オープンソースの Knative プロジェクトをベースにしています。さらに、serverless モードは Red Hat OpenShift Serverless Operator に依存します。
あるいは、Red Hat OpenShift Serverless Operator に依存しない raw デプロイメントモードを使用することもできます。raw デプロイメントモードでは、Deployment
、Service
、Ingress
、Horizontal Pod Autoscaler
などの Kubernetes リソースを使用してモデルをデプロイできます。
KServe の raw デプロイメントモードを使用して機械学習モデルをデプロイすることは、限定提供機能です。限定提供とは、Red Hat AI Business Unit からの特別な承認を得た場合にのみ、対象となる機能をインストールしてサポートを受けることができることを意味します。このような承認がない場合、この機能はサポートされません。また、この機能は、シングルノードの OpenShift のセルフマネージドデプロイメントでのみサポートされます。
これらの各デプロイメントモードには、それぞれメリットとデメリットがあります。
3.9.1. Serverless モード
メリット:
リクエスト量に基づいて自動スケーリングを有効にします。
- 着信リクエストを受信すると、リソースは自動的にスケールアップされます。
- リソースの使用を最適化し、ピーク時のパフォーマンスを維持します。
Knative を使用してゼロへのスケールダウンとゼロからのスケールダウンをサポートします。
- 着信リクエストがない場合にリソースを完全にスケールダウンできます。
- アイドル状態のリソースを実行しないことでコストを節約します。
デメリット:
カスタマイズの制限があります。
- 複数のボリュームをマウントする場合など、Serverless は Knative に制限されます。
スケーリン用に Knative に依存します。
- 従来のスケーリング方法と比較して、セットアップと管理がさらに複雑になります。
3.9.2. raw デプロイメントモード
メリット:
Deployment
、Service
、Ingress
、Horizontal Pod Autoscaler
などの Kubernetes リソースを使用したデプロイメントを有効にします。- Kubernetes リソースを完全に制御し、デプロイメント設定の詳細なカスタマイズと設定を可能にします。
複数のボリュームをマウントできないなどの Knative の制限を解除します。
- 複雑な設定や複数のストレージマウントを必要とするアプリケーションに役立ちます。
デメリット:
自動スケーリングはサポートされていません。
- アイドル時にリソースを自動的にゼロにスケールダウンすることはサポートされていません。
- トラフィックが少ない期間にはコストが高くなる可能性があります。
- スケーリングの手動管理が必要です。