デプロイメント設定ファイルの作成
Diamond プラットフォームのデプロイメント設定
付録: Diamond Yaml ジェネレータのローカル実行 を参照して設定ファイルを作成してください。
Mercury のデプロイメント設定
リモートマシンのユーザ名とパスワード、およびグループ分散を設定します。以下の指示をご参照ください。
インベントリ内のグループで使用
最初にデプロイ対象のクラスタの IP を例に入力します。ubuntu アカウントを使用して、現行クラスタの ubuntu パスワードを例に入力します。
[nodes]
すべての k8s ワーカーノードを入力します (Diamond のインストールでは、k8s ワーカータグによって識別できます。ライセンスの分散情報は、Ansible の後半にあります。シングルノードのライセンスは、nodes[0] にのみ表示されます。)
[controllers]
最初の 2 つの [nodes] を入力すると、Machine controllers[0] では、開始されたポッドの yaml ファイルがディレクトリ "/etc/kubernetes" に格納されます。
また、API の k8s クラスタでノード分散が制御されます。API には、エンジン層の Wrapper、イングレス層の Nginx、エンジン層の VBS (マネージャポッド) があります。
[license_nodes]
現在のところ、この場所には nodes [0] のみを記述します。
[components]
ここで指定されるノードは、ミドルウェア分散ノードとして使用されます(注: Diamond のインストールでは、タグが「ceph」のノードをご使用ください)。
注: osg をインストールする際、components [0] (/dev/vdc) にボリュームをマウントしてください。
[engine_stream]
エンジン層 (ワーカーのポッド) および FE のポッドが、k8s 環境のどのノードポジションに分散されるのかを制御します (十分な GPU が必要である点に注意してください)。
[engine_db]
後続エンジン層の AFD (SFD)、TSDB、structDB ポッドのどのノードポジションが k8s 環境で分散されるのかを制御します (関連サービスで GPU が必要である点に注意してください)。
IPS モデルの設定
IPS モデルは、mercury/apps/roles/engine-default/main.yml で定義します。face_model_version を変更すると、別のモデルセットが使用されます。以下は、246v2 モデルを使用した face_model_version の設定項目の例です。
face_model_version: "246v2"
pedestrian_model_version: "1.42"
VerifyModelPath モデルが異なる場合があるため、モデルコレクションに応じてグラフィックカードを設定する必要があります。各種グラフィックカードで使用される特定のモデルコレクションは、以下のとおりです。
(オプション) サービスレプリカとリソース制限の更新
デフォルトの CV サービス要件仕様は、 以下に示すように、ホストに 16 コア、120 GB メモリ、500GB データディスク、2 GPU カードを搭載した 3 ノードを対象にしています。
環境によって仕様が異なる場合があるため、利用可能なリソースに応じてサービスの要件仕様を更新する必要があります。たとえば、8 コア 32 GB、100GB ホストの場合、すべての CV サービスで CPU とメモリ消費を削減する必要があります。 要件仕様は、以下の 2 つのファイルに記述されています。
mercury/group_vars/all.yml
mercury/roles/infra-defaults/defaults/mercury-for-smartgate.yml
mercury/group_vars/init_data_fs_vdb.yml
設定ファイルを開くと、以下に示すような yaml コンテンツが表示されます。 replicas
、cpu
、memory
などの用語は、リソース制限を設定するためのフィールです。
# snippet in mercury/group_vars/all.yml
...
engine_face_extract_service:
enabled: true
replicas: 3
gpu_devices: 1
gpu_share_device: 0
worker_cpu_request: 3
worker_memory_request: 10Gi
worker_gpu_limit: 1
...
# snippet in mercury/roles/infra-defaults/defaults/mercury-for-smartgate.yml
...
default_minio_components:
- name: default
volume_type: localvolume
localvolume_pv_class: storageclass-local-minio-default
replicas: 2
cpu: 1
memory: 4Gi
diskcnt: 4
storage: 10Gi
export: true
...
# snippet in mercury/group_vars/init_data_fs_vdb.yml
...
disk_additional_disks:
- pvdevice: /dev/vdb1
disk: /dev/vdb
number: 1
start: 1MiB
end: 209921MiB
fstype: ext4
mount_options: defaults
mount: /mnt/locals/cassandra/alert/volume0
- pvdevice: /dev/vdb2
disk: /dev/vdb
number: 2
start: 209921MiB
end: 419841MiB
fstype: ext4
mount_options: defaults
mount: /mnt/locals/cassandra/alert/volume1
...