Docker ContainerのNMSデプロイ
本手順ではいくつかの環境でNMS/NIMをご利用いただくにあたり、セットアップ手順を複数紹介します。 環境にあった手順を実施してください。
こちらはラボでの利用を目的とした参考手順となります。 その他手順は NGINX Management Suite Guide をご確認ください。
ラボ環境で動作を確認される場合、作業ホストは ubuntu-host1(10.1.1.5)
となります
1. Docker ImageのBuild
必要なファイルを取得します。
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
1 2 3 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90479d97b943 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 cbe21f598fb7 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)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | Waiting for ClickHouse... Waiting for ClickHouse... Using openssl version 3.0.2 to update NGINX password for admin in file: /etc/nms/nginx/.htpasswd * Starting nginx nginx ...done. [91] [INF] Starting nats-server [91] [INF] Version: 2.9.1 [91] [INF] Git: [not set] [91] [INF] Name: NAKHTJIAR5EXUKXQO4ASOM427BVOPXY34UR2FE5L2O5255IA55NQTT4J [91] [INF] ID: NAKHTJIAR5EXUKXQO4ASOM427BVOPXY34UR2FE5L2O5255IA55NQTT4J [91] [INF] Listening for client connections on 127.0.0.1:4222 [91] [INF] Server is ready [80] [INF] Starting nats-server [80] [INF] Version: 2.9.1 [80] [INF] Git: [not set] [80] [INF] Name: NDRB6PWV4DYBD4AUAKYRZJX4JWT6YX4SCZAR5VP44ONPIFFCISGRLEE4 [80] [INF] Node: 5e1qS4jS [80] [INF] ID: NDRB6PWV4DYBD4AUAKYRZJX4JWT6YX4SCZAR5VP44ONPIFFCISGRLEE4 [80] [INF] Starting JetStream [80] [INF] _ ___ _____ ___ _____ ___ ___ _ __ __ [80] [INF] _ | | __|_ _/ __|_ _| _ \ __| /_\ | \/ | [80] [INF] | || | _| | | \__ \ | | | / _| / _ \| |\/| | [80] [INF] \__/|___| |_| |___/ |_| |_|_\___/_/ \_\_| |_| [80] [INF] [80] [INF] https://docs.nats.io/jetstream [80] [INF] [80] [INF] ---------------- JETSTREAM ---------------- [80] [INF] Max Memory: 1.00 GB [80] [INF] Max Storage: 10.00 GB [80] [INF] Store Directory: "/var/lib/nms/streaming/jetstream" [80] [INF] ------------------------------------------- [80] [INF] Listening for client connections on 127.0.0.1:9100 [80] [INF] Server is ready ⇨ http server started on /var/run/nms/core.sock ⇨ http server started on /var/run/nms/dpm.sock |
3. NMS への接続
対象となるホストのIPアドレスを確認し、 踏み台ホストにてChromeを開き、 https://<ホストのIPアドレス>/ui
に接続してください。
ログイン情報は docker-compose.yaml
の環境変数として指定している以下文字列となります。
username | admin |
password | nimadmin |
以下の様にTop画面が表示されます
Sign In
をクリックすると Basic認証によるポップアップが表示されます。Username admin
、 Password は Install時の出力で予め確認した文字列
を入力してください
ログインが完了すると以下のような画面が表示されます