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

Container Service for Kubernetes:クラウドネイティブAIスイートのデプロイ

最終更新日:Dec 17, 2024

クラウドネイティブAIスイートは、Kubernetes 1.18以降を実行するContainer Service for Kubernetes (ACK) Proクラスター、ACK Serverless Proクラスター、およびACK Edge Proクラスターにデプロイできます。 このトピックでは、クラスターにクラウドネイティブAIスイートをデプロイする方法について説明します。 このトピックでは、AIダッシュボードとAI開発者コンソールをインストールおよび設定する方法についても説明します。

前提条件

クラウドネイティブAIスイートのデプロイ

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[アプリケーション] > [クラウドネイティブAIスイート] を選択します。

  3. [クラウドネイティブAI Suite] ページで、[デプロイ] をクリックします。 表示されるページで、インストールするコンポーネントを選択します。

    次の表に、パラメーターの設定方法を示します。 次の表では、コンポーネントとサポートされているクラスタータイプについても説明します。

    コンソールでの設定

    コンポーネント設定

    サポートされているクラスター

    設定アイテム

    説明

    コンポーネント名と説明

    名前空間

    ACK Proクラスター

    ACK Serverless Proクラスター

    ACK Edge Proクラスター

    弾性

    エラスティック機能を有効にするかどうかを指定します。 詳細については、「Kubernetesベースのモデルトレーニングジョブ」および「コンテナー化されたelastic inference services」をご参照ください。

    ack-alibaba-cloud-metrics-adapter、自動スケーリングコンポーネント。

    kube-system

    对

    错

    对

    加速

    Fluid Data Acceleration機能を有効にするかどうかを指定します。 詳細については、「Fluidの概要」をご参照ください。

    ack-fluid、データキャッシュおよびアクセラレーションコンポーネント。

    流体システム

    对

    对

    对

    スケジューリング

    スケジューリングコンポーネント (バッチタスクスケジューリング、GPU共有、トポロジ対応GPUスケジューリング、およびNPUスケジューリング) 機能を有効にするかどうかを指定します。 [詳細設定] をクリックして、カスタムパラメーターを設定できます。

    ack-ai-installer、スケジューリングコンポーネント。

    kube-system

    对

    错

    对

    Kubeキュー機能を有効にするかどうかを指定します。 詳細については、「ack-kube-queueを使用したジョブキューの管理」をご参照ください。

    ack-kube-queueは、Kubernetesのワークロードを管理するスケジューリングコンポーネントです。

    kube-queue

    对

    对

    对

    相互作用モード

    Arena: Arena CLIを使用する場合は、このオプションを選択します。 Arena CLIを使用するには、Arenaクライアントをインストールして設定する必要もあります。 Arenaクライアントをインストールしたら、Arena CLIを使用してKubeflowトレーニング演算子を統合できます。 [詳細設定] をクリックして、カスタムパラメーターを設定できます。

    Kube QueueConsole、およびKubeflow Pipelinesを同時に選択した場合、アリーナオプションが必要です。 詳細については、「Arenaクライアントの設定」をご参照ください。

    ack-arena (エコシステムツール) 、機械学習CLI。

    kube-system

    对

    对

    对

    コンソール: 軽量のPlatform for AIをデプロイします。 [詳細設定] をクリックして、カスタムパラメーターを設定できます。

    ack-pai、軽量のPlatform for AI推奨

    長年の経験に基づいてPAIによって深く最適化されたアルゴリズムとエンジンをコンテナ化されたアプリケーションに統合できます。 Data Science Workshop (DSW) 、Deep Learning Containers (DLC) 、Elastic Algorithm Service (EAS) などのサービスは、AIモデルの開発、トレーニング、および推論の弾力性と効率を向上させ、AI開発への障壁を減らしながら、トレーニングと推論の有効性を高めます。

    pai-system

    对

    错

    对

    コンソール: このオプションを選択してAI Suiteコンソールをデプロイした後、[メモ] ダイアログボックスでパラメーターを設定します。 詳細については、「AIダッシュボードとAI開発者コンソールのインストールと設定」をご参照ください。

    ack-ai-dashboard (エコシステムツール) 、視覚化されたO&Mコンソール。

    kube-ai

    对

    错

    对

    ack-ai-dev-console (エコシステムツール) 、深層学習開発コンソール。

    kube-ai

    对

    错

    对

    コンソールデータストレージ

    インタラクションモードコンソールに設定した後、コンソールデータストレージプリインストールMySQLまたはApsaraDB RDSに設定します。 詳細については、「AIダッシュボードとAI開発者コンソールのインストールと設定」をご参照ください。

    ack-mysql、MySQLデータベースコンポーネント。

    kube-ai

    对

    错

    对

    ワークフロー

    Kubeflow Pipelinesを選択した後、ワークフローデータストレージプリインストールMinIOまたはOSSに設定できます。 詳細については、「Kubeflow Pipelinesのインストールと設定」をご参照ください。

    エンドツーエンドの機械学習ワークフローを構築するためのプラットフォームであるack-ai-pipeline (エコシステムツール) 。

    kube-ai

    对

    错

    对

    モニタリング

    監視コンポーネントをインストールするかどうかを指定します。 詳細については、「クラウドネイティブAIダッシュボードの操作」をご参照ください。

    ack-arena-exporter、クラスター監視コンポーネント。

    kube-ai

    对

    错

    对

  4. ページの下部にある [クラウドネイティブAIスイートのデプロイ] をクリックします。 システムは、環境と選択されたコンポーネントの依存関係をチェックします。 環境と依存関係がチェックに合格した後、システムは選択したコンポーネントをデプロイします。

    コンポーネントのインストール後、コンポーネントリストに次の情報を表示できます。

    • クラスターにインストールされているコンポーネントの名前とバージョンを表示できます。 コンポーネントをデプロイまたはアンインストールできます。

    • コンポーネントが更新可能な場合は、コンポーネントを更新できます。

    • ack-ai-dashboardとack-ai-dev-consoleをインストールした後、Cloud-native AI Suiteページの左上隅にAIダッシュボードAI開発者コンソールへのハイパーリンクが表示されます。 ハイパーリンクをクリックすると、対応するコンポーネントにアクセスできます。控制台

  5. インストールが完了すると、クラウドネイティブAI Suiteページの左上隅にAIダッシュボードAI開発者コンソールへのハイパーリンクが表示されます。 ハイパーリンクをクリックすると、対応するコンポーネントにアクセスできます。

AIダッシュボードとAI開発者コンソールのインストールと設定

  1. Cloud-native AI Suiteページの [インタラクションモード] セクションで、[コンソール] を選択します。 次の図に示すように、[メモ] ダイアログボックスが表示されます。

    • [許可] が表示されている場合は、手順3を実行します。

    • [Unauthorized] が赤で表示され、[OK] ボタンが暗くなっている場合は、手順2を実行します。

      提示框

  2. RAMワーカーロールに権限を付与するカスタムポリシーを作成します。

    1. カスタムポリシーを作成します。

      1. RAM コンソールにログインします。 左側のナビゲーションウィンドウで、[権限]> [ポリシー] を選択します。

      2. [ポリシー] ページで [ポリシーの作成] をクリックします。

      3. [JSON] タブをクリックします。 [アクション] フィールドに次の内容を追加し、[次へ] をクリックしてポリシー情報を編集します。

         "log:GetProject",
         "log:GetLogStore",
         "log:GetConfig",
         "log:GetMachineGroup",
         "log:GetAppliedMachineGroups",
         "log:GetAppliedConfigs",
         "log:GetIndex",
         "log:GetSavedSearch",
         "log:GetDashboard",
         "log:GetJob",
         "ecs:DescribeInstances",
         "ecs:DescribeSpotPriceHistory",
         "ecs:DescribePrice",
         "eci:DescribeContainerGroups",
         "eci:DescribeContainerGroupPrice",
         "log:GetLogStoreLogs",
         "ims:CreateApplication",
         "ims:UpdateApplication",
         "ims:GetApplication",
         "ims:ListApplications",
         "ims:DeleteApplication",
         "ims:CreateAppSecret",
         "ims:GetAppSecret",
         "ims:ListAppSecretIds",
         "ims:ListUsers"
      4. [Name] パラメーターをk8sWorkerRolePolicy-{ClusterID} 形式で指定し、[OK] をクリックします。

    2. クラスターのRAMワーカーロールに権限を付与します。

      1. RAM コンソールにログインします。 左側のナビゲーションウィンドウで、[アイデンティティ]> [ロール] を選択します。

      2. Kubernetes WorkerRole-{ClusterID} 形式のRAMワーカーロールを検索ボックスに入力します。 管理するロールを見つけて、[操作] 列の [権限の付与] をクリックします。

      3. [ポリシーの選択] セクションで、[カスタムポリシー] をクリックします。

      4. k8sWorkerRolePolicy-{ClusterID} 形式で作成したカスタムポリシーの名前を検索ボックスに入力し、ポリシーを選択します。

      5. [OK] をクリックします。

    3. [メモ] ダイアログボックスに戻り、[権限付与チェック] をクリックします。 承認が成功すると、承認済みが表示され、[OK] ボタンが使用可能になります。 次に、ステップ3を実行します。

      已授权

  3. AIダッシュボードにアクセスする方法AI開発者コンソールにアクセスする方法を選択します。 次に、[OK] をクリックします。

    プライベートIPアドレス内部ドメイン名、またはパブリックドメイン名を使用して、AIダッシュボードまたはAI開発者コンソールにアクセスできます。

    • 本番環境では、プライベートIPまたはパブリックドメイン名を使用してサービスにアクセスします。

    • パブリックドメイン名の方法は、テストにのみ推奨されます。 パブリックドメイン名を使用する必要がある場合は、ローカルホストファイルでクラスターのNginx Ingree SLBのパブリックIPにバインドします。

    説明
    • プライベートIPアドレスを使用してAIダッシュボードまたはAI開発者コンソールにアクセスする場合は、[メモ] ダイアログボックスで [プライベートIP] を選択します。

    • プライベートIPアドレスまたは内部ドメイン名を使用してAIダッシュボードまたはAI開発者コンソールにアクセスする方法の詳細については、「AIダッシュボードへのアクセス」をご参照ください。

  4. を設定します。Set theコンソールのデータストレージパラメーターを使用します。

    [コンソール] を選択すると、[コンソールデータストレージ] パラメーターが [インタラクションモード] パラメーターの下に表示されます。 プリインストールMySQLまたはApsaraDB RDSを選択できます。

    image

    プリインストールMySQL

    ApsaraDB RDSを選択しない場合、デフォルトでプリインストールされたMySQLが使用されます。 安定性とSLAの問題により、この方法はテストにのみ使用することを推奨します。 この方法を選択すると、クラウドネイティブAIスイートをデプロイするたびに新しいディスクが作成され、課金されます。 手動でディスクをリリースする必要があります。

    重要

    クラスタまたはストレージに障害が発生すると、データが失われる可能性があります。

    クラウドネイティブAIスイートをデプロイすると、ACKは指定されたStorageClassに基づいて永続ボリューム要求 (PVC) を作成し、MySQLデータを永続化するためにサイズが120 GBのディスクを作成してマウントします。 ディスクに対して課金され、ディスクを管理する必要があります。 ディスクを使用しなくなった場合は、できるだけ早くディスクをリリースしてください。 ディスクのリリース方法の詳細については、「ディスクのリリース」をご参照ください。

    ApsaraDB RDS

    説明
    • ApsaraDB RDSを使用しているときに接続に問題が発生した場合は、「ApsaraDB RDS for MySQLインスタンスへの接続に関するエラーのトラブルシューティング」をご参照ください。

    • データを保存する方法を変更する場合は、クラウドネイティブAIスイートをアンインストールして再デプロイする必要があります。 kubeai-rdsという名前のシークレットが既に存在する場合は、kubectlを使用してシークレットを削除します。

    1. ApsaraDB RDSインスタンスを購入し、データベースとアカウントを作成します。 詳細については、「クイックスタート」をご参照ください。 ApsaraDB RDSの課金の詳細については、「課金の概要」をご参照ください。

    2. ページ下部の [クラウドネイティブAIスイートのデプロイ] をクリックして、クラウドネイティブAIスイートをインストールします。

    3. クラスターの名前をクリックし、左側のナビゲーションウィンドウで [設定]> [秘密] を選択します。

    4. ページ上部の名前空間ドロップダウンリストからkube-aiを選択します。

    5. ページの右上隅にある [YAMLから作成] をクリックします。

    6. 次のYAMLコンテンツをコピーして、kubeai-rdsという名前のシークレットを作成します。

      apiVersion: v1
      kind: Secret
      metadata:
        name: kubeai-rds
        namespace: kube-ai
      type: Opaque
      stringData:
        MYSQL_HOST: "Your RDS URL"
        MYSQL_DB_NAME: "Database name"
        MYSQL_USER: "Database username"
        MYSQL_PASSWORD: "Database password"

      パラメーター

      説明

      name

      秘密の名前。The name of the Secret.

      namespace

      名前空間の名前。

      • MYSQL_HOST

      • MYSQL_DB_NAME

      • MYSQL_USER

      • MYSQL_PASSWORD

      ApsaraDB RDS for MySQLインスタンスに関連するパラメーター。 詳細については、「ApsaraDB RDS For MySQLインスタンスの作成」および「アカウントとデータベースの作成」をご参照ください。

Kubeflow Pipelinesのインストールと設定

Kubeflow Pipelinesを選択した後、Workflow Data Storageパラメーターを設定する必要があります。

image

プリインストールMinIO

OSSを選択しない場合、プリインストールされたMinIOがデフォルトで使用されます。 安定性とSLAの問題により、この方法はテストにのみ使用することを推奨します。 この方法を選択すると、クラウドネイティブAIスイートをデプロイするたびに新しいディスクが作成され、課金されます。 手動でディスクをリリースする必要があります。

重要

クラスタまたはストレージに障害が発生すると、データが失われる可能性があります。

クラウドネイティブAIスイートをデプロイすると、ACKは指定されたStorageClassに基づいてPVCを作成し、MinIOデータを保持するためにサイズが20 GBのディスクを作成してマウントします。 ディスクに対して課金され、ディスクを管理する必要があります。 ディスクを使用しなくなった場合は、できるだけ早くディスクをリリースしてください。 ディスクのリリース方法の詳細については、「ディスクのリリース」をご参照ください。

OSS

  1. クラスターに存在しない場合は、kube-aiという名前の名前空間を追加します。

    kubectl create ns kube-ai
  2. クラウドネイティブAIスイートによって提供されるKubeflow Pipelinesをインストールする前に、ACKコンソールの [クラスター] ページでクラスターの名前をクリックします。 次に、左側のナビゲーションウィンドウで [設定]> [秘密] を選択します。

  3. ページ上部の名前空間ドロップダウンリストから名前空間kube-aiを選択します。

  4. ページの右上隅にある [YAMLから作成] をクリックします。

  5. 次のYAMLコンテンツをコピーし、[作成] をクリックします。 クラスターは自動的にYAMLファイルを実行し、kubeai-ossという名前のシークレットを作成します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: kubeai-oss
      namespace: kube-ai
    type: Opaque
    stringData:
      ENDPOINT: "https://oss-cn-beijing.aliyuncs.com"   
      ACCESS_KEY_ID: "****"     
      ACCESS_KEY_SECRET: "****"  

    パラメーター

    説明

    name

    秘密の名前。The name of the Secret.

    namespace

    名前空間の名前。

    説明

    namespace: kube-aiは、クラウドネイティブAIスイートをデプロイすると自動的に作成されます。

    エンドポイント

    Object Storage Service (OSS) のエンドポイント。 この例では、中国 (北京) リージョンのOSSのエンドポイントが使用されています。 詳細は、「リージョンとエンドポイント」をご参照ください。

    • ACCESS_KEY_ID

    • ACCESS_KEY_SECRET

    アカウントのAccessKeyペアを入力します。 AccessKeyペアの取得方法については、「AccessKeyペアの取得」をご参照ください。

    重要

    データのセキュリティを確保するため、RAMユーザーのAccessKeyペアを入力することを推奨します。 RAMユーザーとしてログオンした後、AliyunOSSFullAccessポリシーをRAMユーザーにアタッチする必要があります。

  6. シークレットが作成された後、しばらくお待ちください。OSSコンソールmlpipeline-<clusterid> という名前のバケットが作成された場合、OSSがストレージとして使用されるように設定されていることを示します。 OSSの課金の詳細については、「課金」をご参照ください。

  7. Cloud-native AI SuiteでKubeflowパイプラインをデプロイします。