Edge 環境の導入
動作環境
Edge 本体をインストールする環境(以下、"Edge VM" と呼びます)として、VM もしくは物理サーバを 1 台用意します。
Edge が提供する機能のうち CRNN/LGBM 分析 API は GPU を必要とします。Edge VM 本体が GPU を搭載する構成に加えて、Edge VM とは別に GPU を搭載する別ホスト(以下、"GPU ホスト" と呼びます)を利用する構成もサポートします。
Edge VM は以下の要件を満たす必要があります。
- CPU: 2 コア/4 スレッド以上の、概ね 5 年以内の Intel もしくは AMD の x86_64 アーキテクチャ CPU
- メモリ: 4GB 以上(8GB 以上推奨)
- ストレージ: 100GB 以上
- インターネットに HTTP/HTTPS 接続が可能なネットワーク環境に配置されること(プロキシ環境可)
- OS: Ubuntu 18.04 LTS Server もしくは Ubuntu 20.04 LTS Server
- インストールする利用者が、OS の root 権限を有すること
- Apache/Nginx 等、HTTP サーバ機能を持つ(HTTP/HTTPS ポートを LISTEN する)サービス等を稼働させていないこと
制限事項
- Ubuntu 20.04 LTS Server を用いる場合: 固定 IP アドレスではなく DHCP による動的 IP アドレス割当を行っている場合には、Edge インストール中(下記
environment-setup.sh
実行中)に IP アドレスが変更されてしまいます。インストール作業を ssh 接続経由のターミナル上で実施している場合には、IP アドレス変更によりターミナル上インストールが途中で停止したように見えます(実際にはインストール作業は継続しています)。通常、実運用目的の場合には動的 IP アドレス運用を行うことはないと思いますが、テスト目的等で動的 IP アドレス運用を行う場合にはご注意ください。
加えて、CRNN/LGBM 分析 API を使用する場合には、GPU を搭載する Edge VM もしくは GPU ホストは、以下の要件を満たす必要があります。
- GPU: NVIDIA 製 GPU (Linux x86_64 Driver Version >= 460.27.03)
また、Edge VM と GPU ホストの構成とする場合、Edge VM から GPU ホストのポート番号 30122 番に対して接続を行える必要があります。
提供物
以下のファイルを提供します。
インストーラパッケージ
xdata-edge-base-X.X.tar.gz
(以下、X.X
はバージョン番号に読み替えてください)
構成毎のセットアップ手順
Edge VM 単体構成の場合、以下のセットアップを実施します。
- Edge VM/GPU ホスト共通のセットアップ
- Edge VM のセットアップ
Edge VM と GPU ホストの構成の場合、以下のセットアップを実施します。
- Edge VM/GPU ホスト共通のセットアップ(Edge VM と GPU ホスト両方で実施します)
- Edge VM のセットアップ
- GPU ホストのセットアップ
- Edge VM - GPU ホスト接続設定
Edge VM/GPU ホスト共通のセットアップ
インストーラパッケージの展開
インストーラパッケージを展開します。この例では、インストールユーザのホームディレクトリにインストーラパッケージを配置します。
tar zxf xdata-edge-base-X.X.tar.gz
展開したディレクトリ配下 install
ディレクトリに移動します。
cd ~/xdata-edge-base-X.X/install
基盤ソフトウェアのセットアップ
xData Edge に必要な各種ソフトウェア(snap, docker, microk8s)をインストールします。以下のスクリプトを実行してください。
sudo ./environment-setup.sh
HTTP/HTTPS プロキシ環境下のホストにインストールする場合は、スクリプト実行中の質問に対してプロキシ設定を入力してください。
Do you need HTTP/HTTPS proxy settings? [y/n]: y
Proxy's hostname/IP address: XXX.XXX.XXX.XXX
Proxy's port number: XXXX
スクリプト実行完了後、一度必ずログアウト・ログインを行ってください。
Edge VM のセットアップ
Edge コンポーネントの配備
以下のスクリプトを実行し、xData Edge コンポーネントの構成を決定・配備します。目的の構成に応じてスクリプト実行中の質問に答えてください。
./edge-configure.sh
※以下は、「EvWH DB を使用・本ホスト上で GPU を使用しない・MMS DataServer は使用しない」場合の入力例
Do you need the EvWH DB? [y/n]: y
1: Use the GPU analysis feature on this host.
2: Use the GPU analysis feature on another host. Or do not use the GPU analysis feature.
Select a number [1-2]: 2
Do you want to use GPUs in the development environment? [y/n]: n
Do you need the MMS DataServer? [y/n]: n
稼働確認
以下のコマンドを入力して、xData Edge コンテナ群(microk8s Pod)の稼働を確認します。
kubectl get pods
以下のように、表示されるすべての Pod の STATUS が Running であれば稼働完了です(稼働まで数分程度時間を要す場合があります)。なお、下記 Pod の一覧は選択した構成により増減します。
NAME READY STATUS RESTARTS AGE
evwhapi-7694689789-2xn4h 1/1 Running 0 69d
dataloaderapi-7bf4744d65-9tpbv 1/1 Running 0 55d
webapi-endpoint-ffc7bf666-5cf4r 1/1 Running 0 54d
analysis-cpu-69c496fcc9-h4lfk 1/1 Running 0 54d
provenanceapi-6f9f7b65dd-29zss 1/1 Running 0 54d
jupyter-7645d64955-5cmhl 1/1 Running 0 54d
evwhdb01-7555c94c98-w7r2j 1/1 Running 0 13d
analysis-gpu-79d9bc9db-wjz58 1/1 Running 0 13d
nginx-796d7fdb6d-88jrm 1/1 Running 0 18s
getfileapi-ff59c8bdc-2g879 1/1 Running 0 18s
filemanipulationapi-6b4d66568b-vc8bz 1/1 Running 0 18s
GPU ホストのセットアップ
Edge コンポーネントの配備
以下のスクリプトを実行し、xData Edge GPU ホスト用コンポーネントを配備します。
./gpu-analysis-configure.sh
稼働確認
以下のコマンドを入力して、xData Edge コンテナ群(microk8s Pod)の稼働を確認します。
kubectl get pods
以下のように、表示されるすべての Pod の STATUS が Running であれば稼働完了です(稼働まで数分程度時間を要す場合があります)。
NAME READY STATUS RESTARTS AGE
analysis-gpu-79d9bc9db-wjz58 1/1 Running 0 13d
Edge VM - GPU ホスト接続設定
Edge VM 側で接続設定を行います。Edge VM 上の xdata-edge-base-X.X/config/evwhdb01-deployment.yaml
の下記部分 host
に、GPU ホストのホスト名/IP アドレスを設定します。
env:
- name: REMOTE_HOST
value: 'root@host'
設定後、reconfigure.sh
を実行し、設定を反映します。
cd ~/xdata-edge-base-X.X/install
./reconfigure.sh
Web API 疎通確認(EvWH DB 利用を選択した構成の場合)
上節までの状態で、Edge VM 上では HTTP/HTTPS でWeb API が公開された状態となっています。
EvWH DB 利用を選択した構成の場合には、以下のコマンドで Web API の稼働を確認することができます。
curl -H "Content-type:application/json" -H "APIKey: 0df23f0d-44cb-4085-8ac9-158e6ced3056" -H "Secret: 4AzbY3pvfes33aow49nhjn3aUphv9zFWctcT" -X POST -d '{"id":1, "jsonrpc": "2.0", "method": "prov.get_session_list","params": {"show_all":false}}' http://localhost/api/v1/provenance/jsonrpc
以下のレスポンスが返却されれば xData Edge 上の Web API は正常稼働しています。
{"result": [], "id": 1, "jsonrpc": "2.0"}
初期設定
JupyterHub ユーザ作成
以下のスクリプトを実行し、JupyterHub ユーザを作成します。
cd ~/xdata-edge-base-X.X/tools
./jupyter-adduser.sh <username>
パスワードを聞かれますので、ユーザのパスワードを設定してください。
Edge VM に対して HTTPS 接続可能な別ホストのブラウザから以下の URL にアクセスし、上記で作成した Username/Password で JupyterHub ログインを確認します。
https://<xData Edge の IP アドレス>/jupyter
初期インストール API キーの確認(EvWH DB 利用を選択した構成の場合)
EvWH DB を利用する場合、初期インストールされているテナントデータベース evwh
には、開発時に利用可能な API キーが API 毎に初期インストールされています。その API キー/Secret を確認するには、以下のスクリプトを実行します。
cd ~/xdata-edge-base-X.X/tools
./apikey-list.sh