Docker ContainerのNMSデプロイ

本手順ではいくつかの環境でNMS/NIMをご利用いただくにあたり、セットアップ手順を複数紹介します。 環境にあった手順を実施してください。

こちらはラボでの利用を目的とした参考手順となります。 その他手順は NGINX Management Suite Guide をご確認ください。

ラボ環境で動作を確認される場合、作業ホストは ubuntu-host1(10.1.1.5) となります

1. Docker ImageのBuild

UDFのWEB SHELLを使用する場合は以下を実行ください。

su ubuntu

必要なファイルを取得します。

cd ~/
git clone https://github.com/BeF5/f5j-nms-docker-simple.git

Note

予め実行ホストにNGINXリポジトリにアクセスするための証明書・鍵を保存してください ubuntu-host1(10.1.1.5) では以下コマンドによりファイルの取得が可能です

scp 10.1.1.8:nginx-repo* .

以下コマンドを実行し、Docker Imageを作成します。以下はNIMのみの構成です

cd ~/f5j-nms-docker-simple/docker-compose
cp ~/nginx-repo* .
sudo sh ./scripts/buildNIM.sh -C nginx-repo.crt -K nginx-repo.key -i -t nim

NIMに加え、ACM(API Connectivity Manasger)、SM(Security Monitoring)、WAF Compilerをデプロイする場合は以下コマンドとなります。

sudo sh ./scripts/buildNIM.sh -A -W -P v4.100.1 -C nginx-repo.crt -K nginx-repo.key -i -t nim-acm-sp-waf

2. Docker Composeによるコンテナの起動

docker-compose でコンテナを実行します

## cd ~/f5j-nms-docker-simple/docker-compose
sudo docker-compose -f docker-compose.yaml up -d

NIMに加え、ACM(API Connectivity Manasger)、SM(Security Monitoring)、WAF Compilerを実行する場合は、 docker-compose-acm-sp-waf.yaml を指定してください

## cd ~/f5j-nms-docker-simple/docker-compose
docker compose -f docker-compose-acm-sp-waf.yaml up -d

NIMが正しく動作した場合のサンプルのステータスを示します 動作するDockerイメージの状態。clickhouseと前の手順でBuildしたnimのイメージが動作します

sudo docker ps
実行結果サンプル
1CONTAINER ID   IMAGE                                    COMMAND                  CREATED          STATUS          PORTS                                                                                            NAMES
290479d97b943   clickhouse/clickhouse-server:21.12.4.1   "/entrypoint.sh"         17 minutes ago   Up 17 minutes   0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 9009/tcp   f5j-nms-docker-simple_clickhouse_1
3cbe21f598fb7   nim:latest                               "/bin/sh -c /deploym…"   17 minutes ago   Up 17 minutes   0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp                 f5j-nms-docker-simple_nginx-nim2_1

正しく動作した場合、NIMのコンテナで以下のログが確認できます

sudo docker logs $(sudo docker ps -a -f name=nim -q)
実行結果サンプル
 1Waiting for ClickHouse...
 2Waiting for ClickHouse...
 3Using openssl version 3.0.2 to update NGINX password for admin in file: /etc/nms/nginx/.htpasswd
 4 * Starting nginx nginx
 5   ...done.
 6[91] [INF] Starting nats-server
 7[91] [INF]   Version:  2.9.1
 8[91] [INF]   Git:      [not set]
 9[91] [INF]   Name:     NAKHTJIAR5EXUKXQO4ASOM427BVOPXY34UR2FE5L2O5255IA55NQTT4J
10[91] [INF]   ID:       NAKHTJIAR5EXUKXQO4ASOM427BVOPXY34UR2FE5L2O5255IA55NQTT4J
11[91] [INF] Listening for client connections on 127.0.0.1:4222
12[91] [INF] Server is ready
13[80] [INF] Starting nats-server
14[80] [INF]   Version:  2.9.1
15[80] [INF]   Git:      [not set]
16[80] [INF]   Name:     NDRB6PWV4DYBD4AUAKYRZJX4JWT6YX4SCZAR5VP44ONPIFFCISGRLEE4
17[80] [INF]   Node:     5e1qS4jS
18[80] [INF]   ID:       NDRB6PWV4DYBD4AUAKYRZJX4JWT6YX4SCZAR5VP44ONPIFFCISGRLEE4
19[80] [INF] Starting JetStream
20[80] [INF]     _ ___ _____ ___ _____ ___ ___   _   __  __
21[80] [INF]  _ | | __|_   _/ __|_   _| _ \ __| /_\ |  \/  |
22[80] [INF] | || | _|  | | \__ \ | | |   / _| / _ \| |\/| |
23[80] [INF]  \__/|___| |_| |___/ |_| |_|_\___/_/ \_\_|  |_|
24[80] [INF]
25[80] [INF]          https://docs.nats.io/jetstream
26[80] [INF]
27[80] [INF] ---------------- JETSTREAM ----------------
28[80] [INF]   Max Memory:      1.00 GB
29[80] [INF]   Max Storage:     10.00 GB
30[80] [INF]   Store Directory: "/var/lib/nms/streaming/jetstream"
31[80] [INF] -------------------------------------------
32[80] [INF] Listening for client connections on 127.0.0.1:9100
33[80] [INF] Server is ready
34 http server started on /var/run/nms/core.sock
35 http server started on /var/run/nms/dpm.sock

3. NMS への接続

対象となるホストのIPアドレスを確認し、 踏み台ホストにてChromeを開き、 https://<ホストのIPアドレス>/ui に接続してください。 ログイン情報は docker-compose.yaml の環境変数として指定している以下文字列となります。

username

admin

password

nimadmin

以下の様にTop画面が表示されます

../../_images/nim-login.png

Sign In をクリックすると Basic認証によるポップアップが表示されます。Username admin 、 Password は Install時の出力で予め確認した文字列 を入力してください ログインが完了すると以下のような画面が表示されます

../../_images/nim-top.png