AKSを使用してAzure上にMilvusをデプロイする
このトピックでは、Azure Kubernetes Service(AKS) とAzure ポータルを使用してクラスタをプロビジョニングおよび作成する方法について説明します。
前提条件
Azureプロジェクトが適切にセットアップされ、使用するリソースにアクセスできることを確認してください。アクセス権限が不明な場合は、管理者に問い合わせてください。
ソフトウェアの要件
Azure CLI、kubectl、Helm がプリインストールされているCloud Shell を利用することもできます。
Kubernetesクラスタのプロビジョニング
- Azureポータルにログオンします。
- Azureポータルのメニューまたはホーム画面で、Create a resourceを選択します。
- Containers>Kubernetes Serviceを選択します。
- Basics]ページで、以下のオプションを設定します:
プロジェクトの詳細:
サブスクリプション:プロジェクトの詳細:サブスクリプション:どのサブスクリプションを使用するかについては、組織のAzure管理者にお問い合わせください。
- リソースグループ:どのリソース グループを使用するかについては、組織の Azure 管理者にお問い合わせください。
クラスタの詳細:
Kubernetes クラスタ名: クラスタ名を入力します。
リージョン:リージョンを選択します。
アベイラビリティゾーン:必要に応じてアベイラビリティゾーンを選択します。本番クラスタの場合は、複数のアベイラビリティゾーンを選択することをお勧めします。
プライマリ・ノード・プール:
ノード・サイズ:最小16GBのRAMを持つVMを選択することを推奨しますが、必要に応じて仮想マシンのサイズを選択できます。
スケール方法:スケール方法を選択します。
ノード数の範囲:ノード数の範囲を選択します。
ノードプール:
仮想ノードを有効にします:仮想ノードを有効にするチェックボックスを選択します。
仮想マシンのスケールセットを有効にする:
enabled
を選択することをお勧めします。
ネットワーキング
ネットワークの構成:
Kubenet
を選択することをお勧めします。DNS名のプレフィックス:DNS名のプレフィックスを入力します。
トラフィックルーティング:
ロードバランサー:
Standard
.HTTPアプリケーションルーティング:必須ではありません。
- オプションを設定したら、[Review + create]をクリックし、検証が完了したら[Create]をクリックします。クラスタの作成には数分かかります。
クラスタへの接続
- Kubernetes servicesで作成したクラスタに移動し、クリックします。
- 左側のナビゲーションペインで、
Overview
をクリックします。 - 表示される[Overview]ページで、[Connect]をクリックしてリソースグループとサブスクリプションを表示します。
サブスクリプションと認証情報の設定
- 次のコマンドを実行して、サブスクリプションを設定します。
az account set --subscription EXAMPLE-SUBSCRIPTION-ID
- 以下のコマンドを実行して資格情報をダウンロードし、それを使用するように 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
。これはレイヤ4ロードバランサを通してMilvusインスタンスを公開することを示している。
デプロイの確認
すべてのPodが起動したら、以下のコマンドを実行して外部IPアドレスを取得する。
kubectl get services|grep my-release-milvus|grep LoadBalancer|awk '{print $4}'
Hello Milvus
Hello Milvusを参考に、hostの値を外部IPアドレスに変更してコードを実行してください。
次のページ
Milvusを他のクラウドにデプロイする方法を学びたい場合は、以下のリンクを参照してください: