そうだねすごくどうでもいいね
以前の環境
Intel のBroadwell NUC (型番忘れた)にUbuntu 22.04 が載ってて
その上にKVM(QEMU)で仮想マシンがいくつか載ってたんですよ
- vulsスキャン用Docker
alpine の仮想マシンにdockerを入れて、そのうえでvulsスキャン用のDockerコンテナが動いてました
- ZABBIXサーバ
CentOS7 の仮想マシンに、以前の客先での動作検証(適用前準備)の体でZABBIXサーバが動いてました
- 稀にVMware ESXi 6.7
以前の客先での動作検証(なんだっけ複数クラスタ立ててvCemter繋ぎ変え試行とか)の体で
ESXiサーバがデプロイされたまま放置されてました
まあ繋ぎ変え試行の検証やったあとはシャットダウンしてたんですけどね
ま、まあ2C4Tの環境で3VM建てるのはさすがにねー。あと、1VMごとに2GBずつくらいメモリ消費してたので…うーんうーん
すまん、当時のトレンドっちうかログはもうない
で、せっかくなのでvulsとZABBIXをDockerでまとめたんです
単純にUbuntu 22.04 にPodman 入れてごにょごにょしただけなんですが
- vulsスキャン用Docker
自分がalpineにデプロイしたときの過去記事を参考に
/opt/vuls を掘ってdocker-compose だっけ?を実行
- ZABBIXサーバ
/opt/zabbix を掘って、まず timescaledb のコンテナをデプロイして
そのあと zabbix-server と zabbix-web のコンテナをちまちまデプロイ
- ESXi6.7のイメージ
漢らしく削除
単純にSATA SSD の /opt 領域を切り出して各コンテナに使わせてるので、
– インスタンスごとのオーバーヘッド(ディストリ単位でがばーっとディスク容量とるやつ)は控えめ
– プロセス分離してるだけなので親マシンからの対象フォルダへのアクセスは自由
– むしろNFSとかのネットワーク共有すらいらねえ
と非常に便利になりました。はい
まだやりかけといえばやりかけ…
うん、zabbixもvulsrepoも別ポートで開放させてるだけなんだよね、ホントは 80/tcp の入り口から分岐させないとなんだが
もっとも、自分もあんまdocker周りはよくわかってないので…サービスごとに接続ポートをわけてるやつ、あれをnginxで振分けとかせにゃかんなーなどと…
まあ雑にrewrite してみたりするわね
ええ書いてやったよ雑nginx設定
server{
listen 80;
server_name (ご家庭のホスト名);
location / {
rewrite ^/vuls(.*)$ http://(ご家庭のホスト名):8011/ permanent;
rewrite ^/zabbix(.*)$ http://(ご家庭のホスト名):8082/ permanent;
}
}
さらにindex.html なんかも書いてみる。何年ぶりだよおまへ
<html>
<body>
<a href="http://(ご家庭のホスト名):5111/">vulsrepo</a></br>
<a href="http://(ご家庭のホスト名):8082/">Zabbix</a></br>
<a href="http://(ご家庭のホスト名):9090/">Cockpit</a></br>
</body>
</html>
ほいでもってこいつをDockerfileでエイヤすると
FROM nginx
COPY ./default.conf /etc/nginx/conf.d/default.conf
COPY ./index.html /etc/nginx/html/index.htm
で、 docker-compose up なんかうってやると…まあ
…っていうかわざわざrewrite書かなくてもindex.html だけで良かったちゃうんかと(それな)
5/14追記:nginxコンテナも見直したんですよ
まあ実はvulsのdocker-compose.yaml にも、nginxコンテナを上げる設定がございまして
そいつに上述設定を仕込んだら…後ででっちあげた /opt/nginx/ 配下のnginxコンテナが不要になりましt
おあとがよろしいようで
ま、まあ少しずついじってみよう…