4.2. KServe の自動インストールの設定
OpenShift クラスターに ServiceMeshControlPlane
または KNativeServing
リソースを作成していない場合は、Red Hat OpenShift AI Operator を設定して KServe をインストールし、その依存関係を設定できます。
KServe を、advanced または standard デプロイメントモードで設定できます。詳細は、KServe のデプロイメントモードについて を参照してください。KServe を advanced デプロイメントモードに設定すると、advanced および standard のデプロイメントモードでモデルを提供するようにデータサイエンスプロジェクトを設定できます。しかし、KServe を standard デプロイメントモードのみに設定した場合は、standard デプロイメントモードしか使用できません。
クラスター上に ServiceMeshControlPlane
または KNativeServing
リソースを作成している場合、Red Hat OpenShift AI Operator は KServe をインストールして、その依存関係を設定できず、インストールは続行されません。この状況では、手動のインストール手順に従って KServe をインストールする必要があります。
前提条件
- OpenShift クラスターのクラスター管理者権限を持っている。
- クラスターには 4 つの CPU と 16 GB のメモリーを備えたノードがある。
- OpenShift コマンドラインインターフェイス (CLI) をダウンロードしてインストールした。詳細は、OpenShift CLI のインストール (OpenShift Dedicated) または OpenShift CLI のインストール (Red Hat OpenShift Service on AWS) を参照してください。
(advanced デプロイメントモード): Red Hat OpenShift Service Mesh Operator と依存する Operator が インストール されている。
注記KServe の自動インストールを有効にするには、Red Hat OpenShift Service Mesh に必要な Operator のみ をインストールします。追加の設定を実行したり、
ServiceMeshControlPlane
リソースを作成したりしないでください。(advanced デプロイメントモード): Red Hat OpenShift Serverless Operator が インストール されている。
注記KServe の自動インストールを有効にするには、Red Hat OpenShift Serverless Operator のみ をインストールします。追加の設定を実行したり、
KNativeServing
リソースを作成したりしないでください。-
(advanced デプロイメントモード): デプロイされたモデルのトークン認証を有効にできるように Authorino を認可プロバイダーとして追加するために、
Red Hat - Authorino
Operator がインストールされている。Authorino Operator のインストール を参照してください。
手順
- OpenShift Web コンソールにクラスター管理者としてログインします。
-
Web コンソールで、Operators
Installed Operators をクリックし、Red Hat OpenShift AI Operator をクリックします。 次のように OpenShift Service Mesh をインストールします。
- DSC Initialization タブをクリックします。
- default-dsci オブジェクトをクリックします。
- YAML タブをクリックします。
(advanced デプロイメントモード):
spec
セクションで、serviceMesh
コンポーネントのmanagementState
フィールドの値がManaged
に設定されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow (standard デプロイメントモード):
spec
セクションで、serviceMesh
コンポーネントのmanagementState
フィールドの値がRemoved
に設定されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記デフォルトで
serviceMesh
コンポーネントに指定されているistio-system
namespace を変更しないでください。他の namespace 値はサポートされていません。Save をクリックします。
DSCInitialization
オブジェクトに追加した設定に基づいて、Red Hat OpenShift AI Operator は OpenShift Service Mesh をインストールします。
(Red Hat OpenShift Service on AWS のみ): OpenShift クラスターが Red Hat OpenShift Service on AWS (ROSA classic) で実行している場合は、サービスメッシュコントロールプレーン設定を機能させるために追加の設定が必要です。この設定を追加するには、
data-science-smcp
サービスメッシュコントロールプレーンオブジェクトを次のように編集します。-
Web コンソールで、Operators
Installed Operators をクリックし、Red Hat OpenShift Service Mesh Operator をクリックします。 - Istio Service Mesh Control Plane タブをクリックします。
- data-science-smcp オブジェクトをクリックします。
- YAML タブをクリックします。
以下に示すように、
spec.security.identity
セクションにtype
というフィールドを追加し、値をThirdParty
に設定します。security: dataPlane: mtls: true identity: type: ThirdParty
security: dataPlane: mtls: true identity: type: ThirdParty
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save をクリックします。
-
Web コンソールで、Operators
(standard デプロイメントモードのみ): 次のように KServe をインストールします。
-
Web コンソールで、Operators
Installed Operators をクリックし、Red Hat OpenShift AI Operator をクリックします。 - Data Science Cluster タブをクリックします。
- default-dsc DSC オブジェクトをクリックします。
- YAML タブをクリックします。
spec.components
セクションで、次のようにkserve
コンポーネントを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Save をクリックします。
上記の設定では、KServe RawDeployment 機能に基づく standard デプロイメントモードで KServe がインストールされます。この設定では、次の詳細を確認してください。
-
Web コンソールで、Operators
(advanced デプロイメントモード): 次のように KServe と OpenShift Serverless の両方をインストールします。
-
Web コンソールで、Operators
Installed Operators をクリックし、Red Hat OpenShift AI Operator をクリックします。 - Data Science Cluster タブをクリックします。
- default-dsc DSC オブジェクトをクリックします。
- YAML タブをクリックします。
spec.components
セクションで、次のようにkserve
コンポーネントを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Save をクリックします。
前述の設定では、OpenShift Service Mesh からトラフィックを受け取るための OpenShift Serverless の Ingress ゲートウェイを作成します。この設定では、standard モードと advanced モードの両方を使用できます。
- 1
- 示されている設定では、KServe の設定後に選択されたデフォルトのデプロイメントモードが使用されます。KServe を使用してモデルを作成およびデプロイするときに、デフォルト値を設定できます。standard モードをデフォルトとして使用するには、
defaultDeploymentMode
をRawDeployment
に設定します。advanced モードをデフォルトとして使用するには、defaultDeploymentMode
をServerless
に設定します。 - 2
- 示されている設定では、クラスターがワークロードレプリカに対して通常の負荷分散を実行できるようにするために、
Headed
モードが使用されています。推論リクエストの負荷分散がクライアント側で実行される環境では、rawDeploymentServiceConfig
をHeadless
モードに設定します。 - 3
- ここに示す設定では、OpenShift 用に設定されたデフォルトの Ingress 証明書を使用して、OpenShift クラスターへの受信トラフィックを保護し、
secretName
フィールドで指定されたknative-serving-cert
シークレットに証明書を保存します。secretName
フィールドはインストール時にのみ設定できます。secretName
フィールドのデフォルト値はknative-serving-cert
です。証明書シークレットのその後の変更は、手動で行う必要があります。インストール時にデフォルトのsecretName
値を使用しなかった場合は、istio-system
namespace にknative-serving-cert
という名前の新しいシークレットを作成し、istiod-datascience-smcp-<suffix>
Pod を再起動します。 - 4
タイプ
フィールドの値を更新することで、次の証明書タイプを指定できます。-
Provided
-
SelfSigned
OpenshiftDefaultIngress
自己署名証明書を使用するか、独自の証明書を提供するには、
secretName
フィールドの値を更新してシークレット名を指定し、type
フィールドの値をSelfSigned
またはProvided
に変更します。注記独自の証明書を提供する場合、その証明書には、OpenShift クラスターの Ingress コントローラーによって使用されるドメイン名が指定されている必要があります。この値は、次のコマンドを実行して確認できます。
$ oc get ingresses.config.openshift.io cluster -o jsonpath='{.spec.domain}'
-
kserve
コンポーネントとserving
コンポーネントの両方にmanagementState
フィールドの値をManaged
に設定する必要があります。kserve.managementState
をManaged
に設定すると、KServe の自動インストールがトリガーされます。serving.managementState
をManaged
に設定すると、OpenShift Serverless の自動インストールがトリガーされます。ただし、kserve.managementState
もManaged
に設定されていない場合、OpenShift Serverless のインストールはトリガー されません。
-
-
Web コンソールで、Operators
検証
次のように KServe のインストールを確認します。
-
Web コンソールで、Workloads
Pods をクリックします。 - プロジェクトリストから、redhat-ods-applications を選択します。これは、KServe を含む OpenShift AI コンポーネントがインストールされるプロジェクトです。
次の例のように、プロジェクトに KServe コントローラーマネージャーの実行中の Pod が含まれていることを確認します。
NAME READY STATUS RESTARTS AGE kserve-controller-manager-7fbb7bccd4-t4c5g 1/1 Running 0 22h odh-model-controller-6c4759cc9b-cftmk 1/1 Running 0 129m odh-model-controller-6c4759cc9b-ngj8b 1/1 Running 0 129m odh-model-controller-6c4759cc9b-vnhq5 1/1 Running 0 129m
NAME READY STATUS RESTARTS AGE kserve-controller-manager-7fbb7bccd4-t4c5g 1/1 Running 0 22h odh-model-controller-6c4759cc9b-cftmk 1/1 Running 0 129m odh-model-controller-6c4759cc9b-ngj8b 1/1 Running 0 129m odh-model-controller-6c4759cc9b-vnhq5 1/1 Running 0 129m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Web コンソールで、Workloads
(advanced デプロイメントモードのみ): 次のように OpenShift Service Mesh のインストールを確認します。
-
Web コンソールで、Workloads
Pods をクリックします。 - プロジェクトリストから istio-system を選択します。これは、OpenShift Service Mesh がインストールされるプロジェクトです。
サービスメッシュコントロールプレーン、Ingress ゲートウェイ、および Egress ゲートウェイの実行中の Pod があることを確認します。これらの Pod には、次の例に示す命名パターンがあります。
NAME READY STATUS RESTARTS AGE istio-egressgateway-7c46668687-fzsqj 1/1 Running 0 22h istio-ingressgateway-77f94d8f85-fhsp9 1/1 Running 0 22h istiod-data-science-smcp-cc8cfd9b8-2rkg4 1/1 Running 0 22h
NAME READY STATUS RESTARTS AGE istio-egressgateway-7c46668687-fzsqj 1/1 Running 0 22h istio-ingressgateway-77f94d8f85-fhsp9 1/1 Running 0 22h istiod-data-science-smcp-cc8cfd9b8-2rkg4 1/1 Running 0 22h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Web コンソールで、Workloads
(advanced デプロイメントモードのみ): 次のように OpenShift Serverless のインストールを確認します。
-
Web コンソールで、Workloads
Pods をクリックします。 - プロジェクトリストから、knative-serving を選択します。これは、OpenShift Serverless がインストールされるプロジェクトです。
knative-serving
プロジェクト内に、アクティベーター、オートスケーラー、コントローラー、ドメインマッピング Pod、および Knative Istio コントローラー (OpenShift Serverless と OpenShift Service Mesh の統合を制御する) の Pod を含む多数の実行中の Pod があることを確認します。一例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Web コンソールで、Workloads