デプロイメント設定ファイルの作成

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 モデルが異なる場合があるため、モデルコレクションに応じてグラフィックカードを設定する必要があります。各種グラフィックカードで使用される特定のモデルコレクションは、以下のとおりです。

GPU モデル

VerifyModelPath

NVIDIA GeForce GTX 1080

246v2

NVIDIA Tesla P4

246v2

NVIDIA Tesla P100

247v2

(オプション) サービスレプリカとリソース制限の更新

デフォルトの CV サービス要件仕様は、 以下に示すように、ホストに 16 コア、120 GB メモリ、500GB データディスク、2 GPU カードを搭載した 3 ノードを対象にしています。

サービス

単位

CPU

GPU

メモリ

HD

AlertFeatureDB

2 + 2

4 + 1

-

6G + 12G

1G

FaceExtractService

3

3

1

10G

-

API-Wrapper

2

1

-

9G

-

Cassandra

3

2

-

16G

200G

MinIO

2

1

-

4G

10G

Fluentd

3

0.

-

0.5G

-

環境によって仕様が異なる場合があるため、利用可能なリソースに応じてサービスの要件仕様を更新する必要があります。たとえば、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 コンテンツが表示されます。 replicascpumemory などの用語は、リソース制限を設定するためのフィールです。

# 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
...

最終更新