第36回 Open vSwitchで作るDockerのネットワーク(OVSを管理する編):古賀政純の「攻めのITのためのDocker塾」(2/2 ページ)
「Open vSwitch」(OVS)を利用したDockerネットワークの特徴や構築方法について解説してきました。今回は、構築したネットワークを管理するためのコマンドやツールをご紹介します。
OVSのGUI監視ツールをDockerコンテナで稼働させてみる
今回構築したシステムに、GUIベースのOVS監視ツールを導入してみましょう。OVSの監視ツールは、ホストOSに直接インストールすることも可能ですが、Dockerコンテナとしても稼働させることができます。今回は、オープンソース・ソフトウェアとして提供されている監視ツール「Open vMonitor」をDockerコンテナとして稼働させてみます。この場合のシステム構成は、以下の通りです。
実際に、OVSの監視ツールをDockerコンテナで稼働させてみましょう。まずは、ホストOS上で準備が必要です。管理者からOVSが持つデータベース接続を有効にするため、以下のように入力します。
# ovs-vsctl set-manager ptcp:6640
上記により、TCPポート6640番で接続をリッスンします。次に、ホストOS上でOpen vMonitorのコンテナを起動します。Open vMonitorは、ホストOSの3000番ポートを使います。そのため、コンテナ起動時に「-p」オプションを使って、3000番ポートを指定します。以下の例の「-p 3000:3000」により、管理者はホストOSの3000番ポートを使ってアクセスすると、Open vMonitorコンテナの3000番ポートにアクセスできます。今回は、コンテナ名およびコンテナのホスト名を「ovsgui01」としました。
# docker run -d -p 3000:3000 --name ovsgui01 -h ovsgui01 plvisiondevs/open_vmonitor
OVSの監視ツールがDockerコンテナとして起動したのかを確認します。
# docker ps -a CONTAINER ID IMAGE COMMAND ... PORTS NAMES 08d968c4c4f7 plvisiondevs/open_vmonitor "npm start" ... 0.0.0.0:3000->3000/tcp ovsgui01
Open vMonitorコンテナが起動しましたので、クライアント上のWebブラウザからアクセスします。すると、下のような画面が表示されます。ユーザー名に「admin」、パスワードに「admin」、接続先の「Enter OVSDB IP」の欄に、OVSが稼働するホストOSのIPアドレスである「172.16.1.100」を入力し、「Connect」をクリックします。
ログインすると、OVSの状況を管理する画面が表示されます。
以上でDockerコンテナで稼働するGUIベースの監視ツールにより、WebブラウザからOVSの状態が確認できました。
第34回から今回まで、OVSを使ってホストOSとコンテナが同一LANセグメントに所属できる非常に単純なネットワークを構築する手順や、Dockerコンテナで稼働するOVSのGUI監視ツールの起動手順などをご紹介しました。OVSを使えば、Docker環境においてもトンネルを使った複雑なオーバレイ・ネットワークだけでなく、フラットで単純なネットワークを簡単に作ることができます。OVSについては、筆者が書籍「OpenStack 実践ガイド」)でOVSを使ったソフトウェア定義型ネットワークの設定例や、さらに詳細な図を掲載しています。拙著ながら、OVSを使ったIT基盤を検討する際の参考にしていただけると幸いです。
また、OVSについては、以下のURLにも情報が掲載されています。英語ですが、参考になりますので、一読をお勧めします。
- Open vSwitch 2.5.0 Documentation:各種Linux、BSD系OS、仮想環境での導入、セキュリティ、マニュアル等を入手できます。
- Open vSwitch 2016 Fall Conference:Open vSwitchのイベントでの発表スライドやプレゼン動画を見ることができます。多くは、技術者向けのスライドですが、OVSの仕組みやシステム構成例などを知ることができます。
- OVS for Containers with Weave Net(PDF):Dockerを含むコンテナ環境において、オーバレイ・ネットワークを実現する「Weave」と呼ばれるWeaveworks社提供のソフトウェアとOVSの関係について知ることができる発表スライドです。
- Open vSwitchによるソフトウェア定義型ネットワーキング:概要、利点、コマンドの説明、KVM仮想化環境でのOVSの利用方法などの情報を日本語で入手できます。
- PLVisionが手掛けるオープンソースのOVS監視ツール「Open vMonitor」の情報:Open vMonitorの概要、稼働環境、ソースコードが置かれているGithubなどの情報を入手できます。
古賀政純(こが・まさずみ)
日本ヒューレット・パッカード株式会社 オープンソース・Linuxテクノロジーエバンジェリスト。兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレット・パッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当。日本ヒューレット・パッカードが認定するオープンソース・Linux テクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っている。Red Hat Certified Virtualization Administrator, Novell Certified Linux Professional, Red Hat Certified System Administrator in Red Hat OpenStack, Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「OpenStack 実践ガイド」「Docker 実践ガイド」「CentOS 7実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。古賀氏の最新記事が読めるブログはこちら。
関連記事
- 第35回 Open vSwitchで作るDockerのネットワーク(OVSで構築する編)
Dockerでは、OpenStackなどクラウド基盤ソフトウェアでも広く採用されている「Open vSwitch」(OVS)を利用してネットワークを構築することができます。今回は、実際にOVSを利用したネットワークを構築してみましょう。 - 第34回 Open vSwitchで作るDockerのネットワーク(OVSを知る編)
Dockerのネットワークを構成するには、さまざまな方法があります。今回からは、OpenStackなどクラウド基盤ソフトウェアでも広く採用されている「Open vSwitch」(OVS)を利用した方法を取り上げます。OVSの紹介から始めましょう。 - 第33回 Dockerコンテナ同士の通信方法、フラットなネットワークを作る(後編)
引き続き、「Swarmクラスタ」を使わずに複数の物理サーバで稼働するDockerコンテナ同士を通信させる方法について紹介します。前編ではコンテナ用のネットワーク「mynet1」を用いる方法を取り上げましたが、後編ではこれを使わない方法も取り上げてみたいと思います。 - 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
Copyright © ITmedia, Inc. All Rights Reserved.