第34回 Open vSwitchで作るDockerのネットワーク(OVSを知る編)古賀政純の「攻めのITのためのDocker塾」(3/3 ページ)

» 2017年02月01日 07時30分 公開
前のページへ 1|2|3       

OVSで実現するGREトンネル構成

 複数のホストOS間通信を実現するためにOVSでは、どのような技術が使われるのでしょうか。OVSは、「VXLAN」(Virtual eXtensible Local Area Network)や「GRE」(Generic Routing Encapsulation)と呼ばれるトンネリングの機能を提供します。GREトンネルは、通信トラフィックのパケットを、別のプロトコルでカプセル化する伝送技術です。複数のホストOS間のブリッジ同士を接続し、ホストOSの物理NICが所属するLANセグメントとは異なる、仮想的なネットワーク・セグメント(オーバレイ・ネットワーク)を構築できます。

 Dockerエンジンは、標準でブリッジ「docker0」を作成し、IPアドレスとして「172.17.0.X/16」などを割り当てます。複数のホストにおいて、ホストに割り当てられる「docker0」ブリッジのIPアドレスは、同じものになる可能性があります。しかし、OVSのGREトンネル構成においてdocker0ブリッジは、OVSが提供する別のブリッジ(下図では「br-ex」)に接続されます。

 これは、一般的にOVSが提供するブリッジであるため、「OVSブリッジ」と呼ばれます。GREトンネルにより、コンテナ間の全てのトラフィックがOVSブリッジであるbr-exを介してルーティングされ、コンテナが動作している両方のホストがネットワークを介して通信できるようになります。ちなみに、ここでは例としてブリッジ・インタフェースの名前をbr-exにしていますが、そのような決まりはありません。Open vSwitchやDocker関連のドキュメントなどでも、ブリッジ・インタフェース名には、「docker-ovs0」「ovs-br0」「br1」といった、さまざまな名前が付与されているようです。

Dcoker Docker環境におけるOVSのGREトンネル構成例

OVSとovs-dockerで実現するフラットなネットワーク構成

 OVSは、GREトンネルを使った構成以外にも、標準的なLinuxブリッジと同様の単純なブリッジ・インタフェースの機能を提供します。ハイパーバイザ型の仮想化環境でもよく利用されているブリッジ・インタフェースと同じように、ホストOSのブリッジ・インタフェースにOVSブリッジを割り当てる方法です。これにより、マルチホストにおけるホストOS間のTCP/IP通信をブリッジ・インタフェースbr-ex同士で通信を行うことができます。

 また、ホストOS上にインストールしたBashスクリプト「ovs-docker」を利用することで、OVSブリッジに接続できるDockerコンテナ内のネットワーク・インタフェース(eth0など)の作成、IPアドレス、デフォルトゲートウェイ、さらに仮想的なMACアドレスの設定などが簡単に行えます。OVSとovs-dockerの合わせ技により、ホストOSと同一のLANセグメントの固定IPアドレスをDockerコンテナに割り振ることができます。なお、ovs-dockerはOVS環境でDockerエンジンが稼働し、さらにipコマンドなどの基本的なIP設定ツールがインストール済みであることが前提ですので、動作環境には注意してください。

Dcoker Docker環境におけるOVSのブリッジ構成例

 次回はOVSを使って、ホストOSとDockerコンテナを同一LANセグメントに所属させることで、マルチホストのコンテナ間通信ができる環境を構築してみます。

古賀政純(こが・まさずみ)

日本ヒューレット・パッカード株式会社 オープンソース・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実践入門」などがある。趣味はレーシングカートとビリヤード。古賀氏の最新記事が読めるブログはこちら


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ