Mercury スケールアウト マニュアル

注意事項

  • Diamond 1.8.3に基づくきます。

  • Mercuryの1:N処理能力を拡張できます。ただし、Mercuryデータベースの最大容量を拡張できません。

  • MercuryノードはIPS服务を拡張しますが,SFD/API WRAPPERを拡張しません。

現在、DiamondプラットフォームでDiamondサーバーとKubernetesのマスタノードのスケールアウトをサポートしていません。そして、Diamondプラットフォームでスケールインもサポートしていません。

以下、既存のDiamondプラットフォームにworkloadNewというノードサーバーを新たに追加する方法を紹介します。

事前準備

workloadNewというノードサーバーにパスワードが要求されないsudo権限を持っているユーザーを作成します。その後に、Diamond ホストへの Diamond SSH プライベートキーを追加します。「SenseLink GE Enterprise Pro インストールマニュアル」の「Diamond プラットフォームのデプロイ」章にある「Diamond ホストへの Diamond SSH プライベートキーの追加」節を参照してください。

注意事項:

ここで作成したユーザーはdiamond.yamlにあるdiamondUserに一致しないといけません。diamond.yamlが見つからない場合、下記のコマンドでdiamondUserを特定することが可能です。spec.userdiamondUserです。

kubectl --kubeconfig /opt/sensetime/diamond/ada/config/ada-kubeconfig get secret diamond-secret -o yaml

新たにノードサーバーの追加

http://server:30080にログインします。

左側にある「追加」ボタンを押下してください。

  • カマンで区切りしたら、複数のIPを追加できます。k8s-workerラベルを選択してください。

  • 追加されたノードサーバーのステータスはrunningからidleまで変わるまで、画面を刷新して下さい。idleになったら、k8s-workerのスケールアウトが正常に完了となります。

新たに追加されたノードにラベルを付けます。

kubectl label node <label name> mercury.sensetime.com/node-engine=True

ips replicasを修正します。spec.replicas3から4に変更してください(既存の3台ノードサーバーに1台ノードーサーバーを増やす場合の例です。)

kubectl edit deployment engine-face-extract-service

新たなノードが準備できたら、Mercuryサーバーのスケールアウトが完了します。

watch -n1 kubectl get pods

下記は作業後の結果イメージとなります。

最終更新