ニュース
第31回 Docker Swarmクラスタのオーバレイネットワークを構築する方法:古賀政純の「攻めのITのためのDocker塾」(1/7 ページ)
複数の物理サーバで稼働するコンテナ同士の通信を可能にするには、Docker Swarmを用いたオーバレイネットワークを構築します。前回はその概要について解説しましたが、今回はこの環境を構築する方法を紹介します。
Docker Swarmによる構築
前回の記事でも紹介したように、Docker 1.12以上で搭載されたSwarmには、さまざまな機能が存在します。ここでは、Swarmクラスタの構築、オーバレイネットワークの設定、さらにオーバレイネットワーク上でのコンテナ間の通信を行う手順を簡単に取り上げます。
今回はマネージャノード1台、ワーカノード2台で構成します。ワーカノードの1台にWebサーバのコンテナを起動し、さらにもう1台のワーカノードのコンテナからWebサーバのコンテナにアクセスすることで、オーバレイネットワークの通信を確認します。構築する環境は以下のとおりです。
項目 | 物理サーバ1号機 | 物理サーバ2号機 | 物理サーバ3号機 |
---|---|---|---|
Swarmクラスタにおける役割 | マネージャノード | ワーカノード | ワーカノード |
ホストOS | CentOS 7.2 | CentOS 7.2 | CentOS 7.2 |
ホストOSに付与したホスト名 | n0121 | n0122 | n0123 |
Dockerエンジン | 1.12 | 1.12 | 1.12 |
ホストOSのIPアドレス | 172.16.1.121/16 | 172.16.1.122/16 | 172.16.1.123/16 |
Dockerイメージ | なし | larsks/thttpd | centos:centos7.2.1511 |
稼働させるコンテナ名 | なし | test01 | test02 |
物理サーバの1号機、2号機、3号機はネットワークスイッチに接続され、それぞれのホストOSは、172.16.0.0/16のネットワークで通信できる状態にします。また、オーバレイネットワークは以下のとおりです。
項目 | 値 |
---|---|
ネットワーク名 | mynet01 |
ネットワークアドレス | 172.19.0.0/24 |
構築するオーバレイネットワークを172.19.0.0/24と定義しましたので、コンテナには172.19.0.X/24のIPアドレスが付与され、物理サーバをまたいで通信することになります。今回のゴールは、物理サーバの3号機のDockerコンテナから、2号機で稼働するWebサーバ入りのDockerコンテナが提供するテスト用のWebコンテンツにアクセスすることとします。
関連記事
- 第30回 Docker Swarmを知る 複数の物理サーバでDocker環境をクラスタ化する方法
複数の物理サーバで稼働するDockerコンテナ同士が通信するには、どうすればよいのでしょうか。そのためには、Docker特有のコンポーネントを理解する必要があります。今回は、Docker環境のネットワーキングを実現するソフトウェアコンポーネントと具体的なコンテナ間の通信方法を紹介します。 - 第28回 Docker Networkingの基礎知識 ソフトウェア定義型時代の到来
今回からDocker環境のネットワーキングに迫ります。ネットワーキングと聞くと、とても難解なイメージがあるかもしれませんが要素技術は非常に重要です。従来の物理システムと異なる点もあるDockerのネットワーキングについて、まずは基本を解説します。 - 第29回 Docker Networkingの基礎知識 標準的なネットワークを理解する
引き続きDocker環境におけるネットワーキングの基礎を解説します。今回は、Dockerでの標準的なネットワークを例に、手順を交えながらその構成がどうなっているのかを理解していきましょう。 - 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
Copyright © ITmedia, Inc. All Rights Reserved.