Ansible とF5 BIG-IP

最近、構成管理ツールというものをアチコチで耳にするようになりましたね。ChefとかPuppetとかAnsibleとか。特にサーバーの構築/運用を行っている方の間で盛り上がってきているようにも思えます。最近だとネットワーク機器もソフトウェア化が進んでいることから、この手の構成管理ツールとの連携も出来るようになっているようです。

で、手元のLinuxマシンにAnsibleをインストールして、一緒にインストールされるマニュアルをボケーっと眺めておりましたら、やっぱり(?)、幾つかのネットワーク機器の名前も出てきておりますね。

[root@localhost ~]# ansible-doc -l | grep F5 
bigip_facts Collect facts from F5 BIG-IP devices 
bigip_monitor_http Manages F5 BIG-IP LTM http monitors 
bigip_monitor_tcp Manages F5 BIG-IP LTM tcp monitors 
bigip_node Manages F5 BIG-IP LTM nodes 
bigip_pool Manages F5 BIG-IP LTM pools 
bigip_pool_member Manages F5 BIG-IP LTM pool members



F5さんのBIG-IPとも、なんらかの連携が出来るようになっているようです。名前から推測限り、今のところ、LTM(Local Traffic Managerという負荷分散機能を提供する製品)だけの連携のようですが、他のF5製品(ASM/AFM/APMといったセキュリティ製品等)とも連携出来るようになると、もっと面白くなりそうですね。

あ、ちなみに、A10さんとの連携も出来たりするようです。

[root@localhost ~]# ansible-doc -l | grep A10 
a10_server Manage A10 Networks AX/SoftAX/Thunder/vThunder... 
a10_service_group Manage A10 Networks AX/SoftAX/Thunder/vThunder... 
a10_virtual_server Manage A10 Networks AX/SoftAX/Thunder/vThunder...



やっぱり、負荷分散装置(L4-7スイッチ)って、アプリやサーバーに近いところにいるから、まず最初に連携したくなるところなんですかね。

時間がとれたら、簡単に試してみたいですね。

KVM / qemu / libvirt で Windows 10 を動かしてみた

サーバーやデスクトップPCの仮想化はもはや当たり前の技術ではありますが、やっぱり、凄いなーと思ってしまいますね。もう、15年以上前になると思うけど、VMware Workstationが世の中に出てきたときは、それはもう、本当に驚きました。

その後、様々な仮想化製品が出てきて、今はすっかり実用化されています。というより、今時じゃベアメタルでサーバー動かしているほうが少ないんじゃないですかね。

いくつか触ってみたけど、個人的には、LinuxKVMが一番好きです。Open Sourceですし、個人で使うのであればタダです。企業で使う場合は、Red Hatなんかの商用製品を利用すれば安心でしょう。

もちろん性能も素晴らしいです。All Published SPECvirt_sc2013 (Performance) Results あたりを見てみるとKVMも良い性能が出ていることが分かると思います。

今回は Windows 10 を入手することが出来たので、モノは試しということで、KVM上でWindows 10 を動かしてみました。

私はvirshコマンドには詳しくないので、おとなしく(?)、virt-managerを使って仮想マシンを作成しました。注意事項は特にありません。Windows 10 の実行に必要のために十分なCPU、メモリ、ディスクを割り当ててやれば、問題なくインストールが終わります。

Screenshot from 2016-03-30 10-15-41

 

virt-manager または virt-viewerでデスクトップにアクセスできます。youtubeなどの動画の再生も問題ないし、USBのリダイレクトも出来たりするので、VDI用途でも十分に使えると思います。

 

 

JBoss Data Virtualization をDockerで使うときのメモ

Dockerをはじめとするコンテナ技術は、最近になって、随分と一般的になってきているような気がしますね。ちょっと分からないことがあれば、ググれば大抵のことは解決出来るようになってきました。

さて、Dockerコンテナ上でサーバー系のプログラムを動かす場合には、多くの場合で、コンテナを起動するときに、ホストとコンテナ間のポートマッピングを行う必要がありますね。ホストでTCP Port 8080で受けたらコンテナへは80にして転送してやる、みたいな。

ということは、コンテナ上で動かすアプリケーションがどのポートを使うのかということをちゃんと理解しておかないと、Dockerコンテナも期待する形では起動できないことになります。

JBossには、JBoss Data Virtualization(通称 JDV) という、データ仮想化製品があるわけですが、今回は、こいつがどんなポートを使うかをメモしておきます。(インストール直後の状態で確認したので、色々と設定追加していくと、ここで書いたもの以外にも使われるポートはあるかもしれません、あしからず)

JDVが使う TCP Port番号について

9990: Web管理コンソール

8080: Webコンテナ

31000: Teiid JDBC

35432: Teiid ODBC

9999: 管理CLIなど

4447: なんだっけ。。。。?

 

というわけで、コンテナ上のJDVをリモートからアクセスしたい場合には、これらのポートについては、コンテナ起動時にきちんとマッピングの設定をしておいたほうが良いでしょう。 要するに、以下のようにコンテナを起動します。

[基本] # docker run -it -p 9990:9990 -p 8080:8080 -p 35432:35432 -p 31000:31000 -p 9999:9999 -p 4447:4447 daijik/mycentos:jdv623_handson /bin/bash bashに入ったら、 # /path/to/jdv/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 と起動する。

[直接JDVを起動する] # docker run -it -p 9990:9990 -p 8080:8080 -p 35432:35432 -p 31000:31000 -p 9999:9999 -p 4447:4447 daijik/mycentos:jdv623_handson /root/jdv62update03_on_eap646/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0

こんな感じで大丈夫だと思います。「-b 0.0.0.0 -bmanagement 0.0.0.0」も忘れずに。