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

Container Service for Kubernetes:ACK クラスタに ack-kserve コンポーネントをデプロイおよび管理する

最終更新日:May 01, 2025

KServe は、Kubernetes 上での機械学習モデルのデプロイと管理のプロセスを簡素化する宣言型 API を提供するオープンソースプロジェクトです。Alibaba Cloud は、オープンソースの KServe に基づいて最適化され、Alibaba Cloud が提供するストレージ、ロギング、ネットワーク機能などの Alibaba Cloud エコシステムと統合された ack-kserve コンポーネントを提供しています。 ack-kserve は、Container Service for Kubernetes (ACK)クラスタでの KServe のデプロイと O&M を簡素化します。このトピックでは、ACK クラスタに ack-kserve をデプロイおよび管理する方法について説明します。

前提条件

ステップ 1: cert-manager コンポーネントをインストールする

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

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

  3. [Helm] ページの左上隅にある [デプロイ] をクリックします。[デプロイ] パネルの [基本情報] ステップで、[アプリケーション名] パラメーターを指定し、[チャート] セクションで cert-manager を選択して、[次へ] をクリックします。

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

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

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

デフォルトでは、ack-kserve コンポーネントは RawDeployment モードでデプロイされ、Nginx Ingress コントローラーと統合されます。

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

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

  3. [Helm] ページの左上隅にある [デプロイ] をクリックします。[デプロイ] パネルの [基本情報] ステップで、[アプリケーション名] パラメーターを指定し、[チャート] セクションで ack-kserve を選択して、[次へ] をクリックします。

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

    cert-manager コンポーネントがデプロイされると、[Helm] ページで ack-kserve コンポーネントに関する情報を表示できます。

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

    次のコマンドを実行して、ack-kserve ポッドのステータスをクエリします。

    kubectl get pod -n kserve

    出力の STATUS パラメーターに running が返された場合、ack-kserve コンポーネントはインストールされています。

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

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

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

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

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

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

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

(オプション)ステップ 4: リソースを削除し、コンポーネントをアンインストールする

  1. ack-kserve コンポーネントをアンインストールする前に、KServe カスタムリソースと関連する CustomResourceDefinitions(CRD)を削除します。これにより、リソースの無駄を防ぎます。

    重要

    カスタムリソースと CRD を削除する前に、ビジネスで不要になったことを確認してください。CRD を削除すると、関連するカスタムリソースも削除されます。カスタムリソースは、削除されると復元できません。

    1. すべての KServe カスタムリソースを削除する前に、それらが不要になったことを確認してください。次のコマンドを実行して、カスタムリソースを削除できます。

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

      CRD を削除する前に、関連するすべてのカスタムリソースを削除する必要があります。そうしないと、CRD を削除できません。

      kubectl delete 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 delete crd trainedmodels.serving.kserve.io
  2. ack-kserve コンポーネントをアンインストールします。

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

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

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

  3. cert-manager コンポーネントをアンインストールします。

    警告

    cert-manager をアンインストールする前に、クラスター内の他のコンポーネントで cert-manager が使用されていないことを確認してください。これにより、cert-manager のアンインストールによって発生するサービス中断を防ぎます。

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

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

    3. [Helm] ページで、[cert-manager] コンポーネントを見つけ、[アクション] 列の [削除] をクリックします。[削除] ダイアログボックスで、[OK] をクリックします。

  4. 次のコマンドを実行して、cert-manager が使用する関連 CRD を削除します。

    kubectl delete crd certificaterequests.cert-manager.io
    kubectl delete crd certificates.cert-manager.io
    kubectl delete crd challenges.acme.cert-manager.io
    kubectl delete crd clusterissuers.cert-manager.io
    kubectl delete crd issuers.cert-manager.io
    kubectl delete crd orders.acme.cert-manager.io

FAQ

問題: 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 コンポーネントに大きく依存しています。クラスターにインストールされていないか、準備ができていない場合、ack-kserve コンポーネントをインストールするときに上記のエラーが発生します。

解決策

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

    kubectl get crd |grep certificates.cert-manager.io

    次の出力が返された場合、cert-manager コンポーネントはクラスターにインストールされています。

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

    クラスターに cert-manager コンポーネントの CRD がない場合は、cert-manager コンポーネントをインストールします。詳細については、このトピックの「ステップ 1: cert-manager コンポーネントをインストールする」セクションをご参照ください。

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

    kubectl -n cert-manager get po

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

    NAME                                       READY   STATUS    RESTARTS   AGE
    cert-manager-7f4bb44d5b-jrrfn              1/1     Running   0          23h
    cert-manager-cainjector-79544456cc-qp5pp   1/1     Running   0          23h
    cert-manager-webhook-f74ccb647-7m5dt       1/1     Running   0          23h

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