すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ackクラスターでのACK-kserveコンポーネントのデプロイと管理

最終更新日:Jan 07, 2025

KServeは、Kubernetesでの機械学習モデルのデプロイと実行のプロセスを簡素化するように設計されたオープンソースプロジェクトです。 KServeは複数の機械学習フレームワークをサポートし、自動スケーリング機能を提供します。 KServeは、定義したYAMLファイルに基づいてモデルをデプロイするための宣言型API操作を提供します。 このように、KServeはサービスとしてデプロイされるモデルの構成と管理を簡素化します。 このトピックでは、Container Service for Kubernetes (ack) クラスターにACK-kserveコンポーネントをデプロイおよび管理する方法と、一般的な問題の解決策について説明します。

前提条件

手順1: cert-managerコンポーネントのインストール

cert-managerコンポーネントがACKクラスターにインストールされている場合は、この手順をスキップします。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ヘルム] を選択します。

  3. [Helm] ページで、[デプロイ] をクリックします。 [デプロイ] パネルで、[アプリケーション名] パラメーターをcert-managerに設定します。 [グラフ] セクションで、cert-managerを検索して選択します。 そして、[次へ] をクリックします。 確認メッセージで、[はい] をクリックします。 グラフはデフォルトでcert-manager名前空間にインストールされます。

  4. [パラメーター] ステップで、[チャートバージョン] パラメーターの値と [パラメーター] フィールドに表示される情報を確認し、[OK] をクリックします。

    cert-managerコンポーネントがデプロイされると、cert-managerコンポーネントの詳細ページが表示されます。 [基本情報] タブで、cert-managerコンポーネントに関する情報を表示できます。

ステップ2: ack-kserveコンポーネントをインストールする

既定では、ack-kserveコンポーネントはRaw Deploymentモードでデプロイされ、Nginx Ingressコントローラーと統合されます。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ヘルム] を選択します。

  3. [Helm] ページで、[デプロイ] をクリックします。 [デプロイ] パネルで、[アプリケーション名] パラメーターをack-kserveに設定します。 [チャート] セクションで、ack-kserveを検索して選択します。 そして、[次へ] をクリックします。 確認メッセージで、[はい] をクリックします。 グラフはデフォルトでkserve名前空間にインストールされます。

  4. [パラメーター] ステップで、[チャートバージョン] パラメーターの値と [パラメーター] フィールドに表示される情報を確認し、[OK] をクリックします。

    ack-kserveコンポーネントがデプロイされると、ack-kserveコンポーネントの詳細ページが表示されます。 ack-kserveコンポーネントに関する情報は、[基本情報] タブで確認できます。

  5. ack-kserveコンポーネントが実行されているかどうかを確認します。

    次のコマンドを実行して、kserve名前空間のポッドが実行中の状態であるかどうかを確認します。

    kubectl get pod -n kserve

    期待どおりに出力のSTATUSパラメーターに対してrunningが返された場合、ack-kserveコンポーネントがインストールされます。

ステップ3: (オプション) ack-kserve ️ コンポーネントの表示または更新

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ヘルム] を選択します。

  3. ack-kserveコンポーネントの詳細を表示します。

    Helmページでack-kserveコンポーネントを見つけ、[操作] 列の [詳細の表示] をクリックします。 ack-kserveコンポーネントの詳細ページで、[基本情報] 、[パラメータ] 、および [履歴] タブの情報を表示します。

  4. ack-kserveコンポーネントを更新します。

    Helmページでack-kserveコンポーネントを見つけ、[操作] 列の [更新] をクリックします。 [リリースの更新] パネルで、コンポーネントのバージョンを変更し、パラメーター設定を変更します。

ステップ4: (オプション) ack-kserveコンポーネントのアンインストール

  1. ack-KServeコンポーネントをアンインストールする前に、ack-kserveコンポーネントがインストールされているクラスターのkserveカスタムリソース (CR) とカスタムリソース定義 (CRD) を削除します。 これにより、リソースの無駄を防ぎます。

    重要

    CRとCRDを削除する前に、ビジネスにCRとCRDが不要になったことを確認してください。 CRDを削除すると、CRDに依存するCRも削除され、復元できません。

    1. 不要になったことを確認した後、クラスター内のすべてのKServe CRを削除します。 次のコマンドを実行して、CRを削除できます。

      # クラスター内のすべてのCRを表示します。 
      kubectl get isvc -- すべての名前空間
      
      # クラスターにすべてのCRを保存します。 
      kubectl get isvc -- all-namespaces -oyaml > isvc.yaml.bak
      
      # CRが不要になったことを確認した後、CRを削除します。 
      kubectl削除isvc -- すべて 
    2. クラスター内のKServe CRDを削除します。

      CRDを削除する前に、CRDに依存するすべてのCRを削除してください。 そうでなければ、CRDは削除されない。

      kubectl crd clusterservingruntimes.serving.kserve.ioを削除する
      kubectl delete crd clusterstoragecontainers.serving.kserve.io
      kubectl delete crd inferencegraphs.serving.kserve.io
      kubectl delete crd inferenceservices.serving.kserve.io
      kubectl delete crd predictors.serving.kserve.io
      kubectl delete crd servingruntimes.serving.kserve.io
      kubectl crd trainedmodels.serving.kserve.io
      を削除する
  2. ack-kserveコンポーネントをアンインストールします。

    1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

    2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ヘルム] を選択します。

    3. Helmページでack-kserveコンポーネントを見つけ、[操作] 列の [削除] をクリックします。 [削除] ダイアログボックスで、[リリースレコードのクリア] を選択またはクリアし、[OK] をクリックします。

よくある質問

問題: ack-kserveコンポーネントのインストール時に次のエラーメッセージが表示されます。failed to call webhook: Post "https:// cert-manager-webhook.cert-manager.svc:443/validate?timeout=30s": tls: failed to verify certificate: x509: certificate signed by unknown authority

原因: ack-kserveコンポーネントは、cert-managerコンポーネントに大きく依存しています。 cert-managerコンポーネントがインストールされていないか、クラスターに準備ができていない場合、ack-kserveコンポーネントをインストールすると前述のエラーが発生します。

解決策:

  1. 次のコマンドを実行して、cert-managerコンポーネントがクラスターにインストールされているかどうかを確認します。

    kubectl get crd | grep証明書. cert-manager.io

    次の出力が返されると、cert-managerコンポーネントがクラスターにインストールされます。

    certificates.cert-manager.io 2024-05-06T07:09:17Z

    cert-managerコンポーネントのCRDがクラスターで使用できない場合は、cert-managerコンポーネントをインストールします。 詳細については、このトピックの「手順1: 証明書マネージャーコンポーネントのインストール」を参照してください。

  2. 次のコマンドを実行して、cert-managerコンポーネントの準備ができているかどうかを確認します。

    kubectl -n cert-manager get po

    次の出力が返された場合、cert-managerコンポーネントのポッドは準備ができています。

    の名前準備ができているステータスの履歴書
    cert-manager-7f4bb44d5b-jrrfn 1/1ランニング0 23h
    cert-manager-cainjector-79544456cc-qp5pp 1/1ランニング0 23h
    cert-manager-webhook-f74ccb647-7m5dt 1/1ランニング0 23h 

    すべてのポッドが準備完了状態の場合、ack-kserveコンポーネントをアンインストールしてから再インストールできます。 詳細については、このトピックの「ack-kserveコンポーネントのアンインストール」を参照してください。