milvus-logo
LFAI
フロントページへ
  • 管理ガイド

AKSを使用してAzure上にMilvusをデプロイする

このトピックでは、Azure Kubernetes Service(AKS) とAzure ポータルを使用してクラスタをプロビジョニングおよび作成する方法について説明します。

前提条件

Azureプロジェクトが適切にセットアップされ、使用するリソースにアクセスできることを確認してください。アクセス権限が不明な場合は、管理者に問い合わせてください。

ソフトウェアの要件

Azure CLI、kubectl、Helm がプリインストールされているCloud Shell を利用することもできます。

Azure CLIをインストールしたら、正しく認証されていることを確認してください。

Kubernetesクラスタのプロビジョニング

  1. Azureポータルにログオンします。
  2. Azureポータルのメニューまたはホーム画面で、Create a resourceを選択します。
  3. Containers>Kubernetes Serviceを選択します。
  4. Basics]ページで、以下のオプションを設定します:
  • プロジェクトの詳細

    • サブスクリプション:プロジェクトの詳細:サブスクリプション:どのサブスクリプションを使用するかについては、組織のAzure管理者にお問い合わせください。

      • リソースグループ:どのリソース グループを使用するかについては、組織の Azure 管理者にお問い合わせください。
  • クラスタの詳細

    • Kubernetes クラスタ名: クラスタ名を入力します。

    • リージョン:リージョンを選択します。

    • アベイラビリティゾーン:必要に応じてアベイラビリティゾーンを選択します。本番クラスタの場合は、複数のアベイラビリティゾーンを選択することをお勧めします。

  • プライマリ・ノード・プール

    • ノード・サイズ:最小16GBのRAMを持つVMを選択することを推奨しますが、必要に応じて仮想マシンのサイズを選択できます。

    • スケール方法:スケール方法を選択します。

    • ノード数の範囲:ノード数の範囲を選択します。

  • ノードプール

    • 仮想ノードを有効にします:仮想ノードを有効にするチェックボックスを選択します。

    • 仮想マシンのスケールセットを有効にするenabled を選択することをお勧めします。

  • ネットワーキング

    • ネットワークの構成Kubenet を選択することをお勧めします。

    • DNS名のプレフィックス:DNS名のプレフィックスを入力します。

    • トラフィックルーティング

      • ロードバランサーStandard.

      • HTTPアプリケーションルーティング:必須ではありません。

  1. オプションを設定したら、[Review + create]をクリックし、検証が完了したら[Create]をクリックします。クラスタの作成には数分かかります。

クラスタへの接続

  1. Kubernetes servicesで作成したクラスタに移動し、クリックします。
  2. 左側のナビゲーションペインで、Overview をクリックします。
  3. 表示される[Overview]ページで、[Connect]をクリックしてリソースグループとサブスクリプションを表示します。

サブスクリプションと認証情報の設定

Azure Cloud Shell を使用して、以下の手順を実行できます。
  1. 次のコマンドを実行して、サブスクリプションを設定します。
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
  1. 以下のコマンドを実行して資格情報をダウンロードし、それを使用するように Kubernetes CLI を設定します。
az aks get-credentials --resource-group YOUR-RESOURCE-GROUP --name YOUR-CLUSTER-NAME
以下の手順には同じシェルを使用します。別のシェルに切り替えた場合は、前述のコマンドを再度実行します。

Azure Blob Storageを外部オブジェクトストレージとして使用する

Azure Blob Storageは、AWS Simple Storage Service(S3)のAzure版です。

  • ストレージアカウントとコンテナを作成する。
az storage account create -n milvustesting1 -g MyResourceGroup -l eastus --sku Standard_LRS --min-tls-version TLS1_2
az storage container create -n testmilvus --account-name milvustesting1
  • シークレットキーを取得し、最初の値を使用する
az storage account keys list --account-name milvustesting2
  • values.yamlを追加する
cluster:
  enabled: true

service:
  type: LoadBalancer

extraConfigFiles:
  user.yaml: |+
    common:
      storageType: remote

minio:
  enabled: false

externalS3:
  enabled: true
  host: core.windows.net
  port: 443
  rootPath: my-release
  bucketName: testmilvus # the storage account container name
  cloudProvider: azure
  useSSL: true
  accessKey: "milvustesting1" # the storage account name
  secretKey: "<secret-key>" 

Milvusのデプロイ

これでKubernetesクラスタの準備は整った。さっそくMilvusをデプロイしてみよう。

helm repo add milvus https://zilliztech.github.io/milvus-helm/
helm repo update
helm install -f values.yaml my-release milvus/milvus

先のコマンドで、Milvus Helmチャートのリポジトリをローカルに追加し、最新のチャートを取得するようにリポジトリを更新する。そしてMilvusインスタンスをインストールし、my-releaseと名付ける。

コンフィグservice.type 。これはMilvusインスタンスをレイヤ4ロードバランサー経由で公開することを示している。

デプロイの確認

すべてのPodが起動したら、以下のコマンドを実行して外部IPアドレスを取得する。

kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'

Hello Milvus

Hello Milvusを参照し、hostの値を外部IPアドレスに変更してコードを実行してください。

次のページ

Milvusを他のクラウドにデプロイする方法を学びたい場合は、次のリンクを参照してください: