Docker +VLAN 環境
アプリケーション実行環境の構築
株式会社フーバーブレイン
事業開発室 1
2021年2月1日
このスライドは「Photon OS + Docker VLAN 環境の構築」の続きです。
| 2
基盤となるネットワーク環境の構築方法については
前回のスライドを参照してください。
slideshare - Fuva Brain
https://www.slideshare.net/ssuser28657b/photon-os-dockervlan-241654476
ネットワーク概要
eth0
eth1
eth1.20
eth1.30
vm-photon01
192.168.9.105
10.10.10.105
10.10.20.105
10.10.30.105
3.0
cato-default
cato-vlan20
cato-vlan30
Trunk
Default VLAN
10.10.10.0/24
VLAN ID 20
VLAN ID 30
10.10.30.0/24
10.10.20.0/24
LAN1
WAN1
Cato
Cloud SD-WAN
10.0.0.0/8
コンテナ
コンテナ
コンテナ
.1
Cato Cloud について、詳しくはこちらをご覧
ください。 https://cato.fuva-brain.jp
インターネット接続用
ルータ
Cato Socket
192.168.9.0/24
SD-WAN を含む SASE(Secure Access Service Edge)の検証にはたくさんの端末が必要です。
そこで、ESXi7 で、Photon OS + Docker を使うことにしました。
実際は eth1 を利用
| 3
ゴール
| 4
eth0
eth1
eth1.20
eth1.30
vm-photon01
192.168.9.105
10.10.10.105
10.10.20.105
10.10.30.105
3.0
cato-default
cato-vlan20
cato-vlan30
コンテナ
コンテナ
コンテナ
アプリケーションのコンテナを立ち上げます。
OSS のチャットシステムです。
今回は SD-WAN(Cato Cloud)内のチャットとして
使用します。
10.10.30.201
1. Rocket.Chat の起動
Photon OS + Docker の環境です。
| 5
docker-compose がインストールされている前提です。
未インストールなら Docker-docs を参照してインストールを行ってください。
• Docker Compose — Docker-docs-ja 19.03 ドキュメント
https://docs.docker.jp/compose/
1-1. Rocket.Chat のインストール
| 6
# mkdir -p /opt/rocket.chat ; cd $_
# curl -L https://raw.githubusercontent.com/RocketChat/Rocket.Chat/develop/docker-compose.yml -o docker-compose.yml
# docker-compose up -d
Starting rocketchat_mongo_1 ... done
Starting rocketchat_rocketchat_1 ... done
Starting rocketchat_mongo-init-replica_1 ... done
Starting rocketchat_hubot_1 ... done
1. Rocket.Chato のディレクトリを作る。 ⇒ /opt/rocket.chat
2. docker-compose.yml をダウンロード
3. 起動!
1-2. 起動したコンテナを確認
| 7
# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------
rocketchat_hubot_1 /bin/sh -c node -e "consol ... Up
rocketchat_mongo-init-replica_1 docker-entrypoint.sh bash ... Exit 0
rocketchat_mongo_1 docker-entrypoint.sh mongo ... Up
rocketchat_rocketchat_1 docker-entrypoint.sh bash ... Up
無事に起動できました!
稼働中のコンテナを確認して
みましょう。
# curl -I -s http://localhost:3000
HTTP/1.1 200 OK
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
X-Frame-Options: sameorigin
X-Instance-ID: zwZh6Psm7PStdz3PM
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Date: Sat, 30 Jan 2021 **:**:** GMT
Connection: keep-alive
動作確認
3000/tcp で稼働中です。
2. ネットワーク設定
| 8
eth1.30 cato-vlan30
10.10.30.0 /24
rocketchat_default
172.18.0.0 /16
bridge
現在
設定後
2-1. docker network
| 9
# docker network ls
NETWORK ID NAME DRIVER SCOPE
************ bridge bridge local
************ cato-default macvlan local
************ cato-vlan20 macvlan local
************ cato-vlan30 macvlan local
************ host host local
************ none null local
************ rocketchat_default bridge local
これを使いたい!
現在、使用中
この時点では rocketchat_default というブリッジを使用している様です。
VLAN ID 30 を使いたいので、設定を変更します。
2-2. rocketchat_default
|
10
# docker network inspect rocketchat_default
[
{
"Name": "rocketchat_default",
...
"IPAM": { ...
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
...
"Containers": {
...
"Name": "rocketchat_mongo_1",
...
"IPv4Address": "172.18.0.2/16",
...
"Name": "rocketchat_rocketchat_1",
...
"IPv4Address": "172.18.0.3/16",
...
ところで、前頁にて「rocketchat_default という
ブリッジを使用している様です」と書きましたが
本当でしょうか?
ちょっと確認をしてみたいと思います。
docker-composer ps を実行した際に出てきた
コンテナが確認できました。
2-3. 設定変更
|
11
eth1.30 cato-vlan30
10.10.30.0 /24
rocketchat_default
172.18.0.0 /16
bridge
これをやめて
こっちに変更
# pwd
/opt/rocket.chat
# docker-compose stop
Stopping rocketchat_hubot_1 ... done
Stopping rocketchat_rocketchat_1 ... done
Stopping rocketchat_mongo_1 ... done
# cp -p docker-compose.yml docker-compose.yml.original
# vi docker-compose.yml
アプリケーションを停止します。
docker-compose.yml のバック
アップをしてから設定変更を行い
ます。
2-4. 設定変更
|
12
# diff docker-compose.yml docker-compose.yml.original
3,7d2
< networks:
< default:
< external:
< name: cato-vlan30
<
37,39d31
< networks:
< default:
< ipv4_address: 10.10.30.201
50,52d41
< networks:
< default:
< ipv4_address: 10.10.30.202
71,73d59
< networks:
< default:
< ipv4_address: 10.10.30.203
96,98d81
< networks:
< default:
< ipv4_address: 10.10.30.204
設定変更前後の差分を見てみます。
追記だけですね。
先に cat-vlan30 の使用を宣言しておきます。
そして、各コンテナ(services)の設定では
ネットワークの指定と、固定 IP アドレスを
記述しています。
2-5. 設定変更(2)
|
13
version: '2'
networks:
default:
external:
name: cato-vlan30
services:
rocketchat:
image: rocketchat/rocket.chat:latest
...
networks:
default:
ipv4_address: 10.10.30.201
mongo:
image: mongo:4.0
...
networks:
default:
ipv4_address: 10.10.30.202
...
mongo-init-replica:
image: mongo:4.0
...
networks:
default:
ipv4_address: 10.10.30.203
...
hubot:
image: rocketchat/hubot-rocketchat:latest
...
networks:
default:
ipv4_address: 10.10.30.204
...
Rocket.Chat
MongoDB
MongoDB
(レプリカ)
設定変更後の docker-compose.yml です。
黄色いところが追記した部分です。
前頁で述べたネットワーク(cato-vlan30)
と、4つのコンテナへの設定をしています。
cato-vlan30
10.10.30.0/24
hubot
2-6. 確認
|
14
# docker network inspect cato-vlan30
[
{
"Name": "cato-vlan30",
...
"Containers": {
...
"Name": "rocketchat_mongo_1",
...
"IPv4Address": "10.10.30.202/24",
"IPv6Address": ""
...
"Name": "rocketchat_rocketchat_1",
...
"IPv4Address": "10.10.30.201/24",
...
"Name": "rocketchat_hubot_1",
...
"IPv4Address": "10.10.30.204/24",
...
アプリケーションを起動して、
確認をしてみましょう。
# docker-compose up -d
Starting rocketchat_mongo_1 ... done
Starting rocketchat_rocketchat_1 ... done
Starting rocketchat_mongo-init-replica_1 ... done
Starting rocketchat_hubot_1 ... done
ブリッジ「cato-vlan30」を使用しているコンテナ
と、その IP アドレスを確認します。
2-7. 実際の利用で確認
|
15
完了です!
Cato Client
10.41.14.148/32
SD-WAN
vm-photon01 10.10.30.201
SD-WAN を介して、Rocket.Chat の
コンテナにアクセスしてみます。
ばっちりです!
当 は「未 の 」( )を する「 」( )をめ し、
すべてのお 様に
で
使いやすく
用で
きやすい
環境と ー スを提 します。
株式会社フーバーブレイン
https://www.fuva-brain.co.jp
Cato Cloud
https://cato.fuva-brain.jp
事業開発室 取扱サービス
生産性の向上支援 Ey “247”
https://www.eye247.jp

More Related Content

PPTX
Docker Networking with New Ipvlan and Macvlan Drivers
PDF
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
PPTX
Docker Networking Overview
PPTX
コンテナネットワーキング(CNI)最前線
PDF
eStargzイメージとlazy pullingによる高速なコンテナ起動
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
PDF
Dockerからcontainerdへの移行
PDF
Understanding docker networking
Docker Networking with New Ipvlan and Macvlan Drivers
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
Docker Networking Overview
コンテナネットワーキング(CNI)最前線
eStargzイメージとlazy pullingによる高速なコンテナ起動
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerからcontainerdへの移行
Understanding docker networking

What's hot (20)

PDF
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
PDF
DCSF19 Dockerfile Best Practices
PDF
今話題のいろいろなコンテナランタイムを比較してみた
PDF
Podman rootless containers
PDF
Podman Overview and internals.pdf
PDF
[Container Runtime Meetup] runc & User Namespaces
PPTX
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
PPTX
Docker, LinuX Container
PDF
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
PDF
Linux kernel tracing
PDF
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
PPTX
BuildKitによる高速でセキュアなイメージビルド (LT)
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
コンテナにおけるパフォーマンス調査でハマった話
PDF
Docker 101 - from 0 to Docker in 30 minutes
PDF
TLS 1.3 と 0-RTT のこわ〜い話
PDF
オトナのDocker入門
PDF
P2P Container Image Distribution on IPFS With containerd and nerdctl
PDF
Introduction to Docker Compose
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
DCSF19 Dockerfile Best Practices
今話題のいろいろなコンテナランタイムを比較してみた
Podman rootless containers
Podman Overview and internals.pdf
[Container Runtime Meetup] runc & User Namespaces
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
Docker, LinuX Container
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
Linux kernel tracing
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
BuildKitによる高速でセキュアなイメージビルド (LT)
Docker入門: コンテナ型仮想化技術の仕組みと使い方
コンテナにおけるパフォーマンス調査でハマった話
Docker 101 - from 0 to Docker in 30 minutes
TLS 1.3 と 0-RTT のこわ〜い話
オトナのDocker入門
P2P Container Image Distribution on IPFS With containerd and nerdctl
Introduction to Docker Compose
Ad

Similar to 「Docker +VLAN 環境」アプリケーション実行環境の構築 (20)

PDF
「Photon OS + Docker」VLAN 環境の構築
PDF
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
PDF
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
PDF
Cloud stack徹底入門7章 20130514
PDF
「さくらのクラウド」におけるVyattaの活用事例
PPTX
FD.io VPP事始め
PDF
Wireguard 実践入門
PDF
OSC2011 Tokyo/Fall JOSUG
PPTX
Trema での Open vSwitch
PDF
Apache cloudstack4.0インストール
PDF
Cloudstack networking の内側
PDF
Docker ComposeでMastodonが必要なものを梱包する話
PDF
Apache CloudStack 4.0 インストール(ver0.5)
PDF
もしCloudStackのKVMホストでPCIパススルーできるようになったら
PDF
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
PPTX
VPP事始め
PDF
VlanManagerを使ってみた
PDF
WSL2+docker+JupyterとVS Codeリモート環境の構築
PDF
OpenDaylightを用いた次世代ネットワーク構成管理の考察
PPT
Nsegソフトウェアルータvyatta
「Photon OS + Docker」VLAN 環境の構築
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
Cloud stack徹底入門7章 20130514
「さくらのクラウド」におけるVyattaの活用事例
FD.io VPP事始め
Wireguard 実践入門
OSC2011 Tokyo/Fall JOSUG
Trema での Open vSwitch
Apache cloudstack4.0インストール
Cloudstack networking の内側
Docker ComposeでMastodonが必要なものを梱包する話
Apache CloudStack 4.0 インストール(ver0.5)
もしCloudStackのKVMホストでPCIパススルーできるようになったら
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
VPP事始め
VlanManagerを使ってみた
WSL2+docker+JupyterとVS Codeリモート環境の構築
OpenDaylightを用いた次世代ネットワーク構成管理の考察
Nsegソフトウェアルータvyatta
Ad

「Docker +VLAN 環境」アプリケーション実行環境の構築

  • 2. このスライドは「Photon OS + Docker VLAN 環境の構築」の続きです。 | 2 基盤となるネットワーク環境の構築方法については 前回のスライドを参照してください。 slideshare - Fuva Brain https://www.slideshare.net/ssuser28657b/photon-os-dockervlan-241654476
  • 3. ネットワーク概要 eth0 eth1 eth1.20 eth1.30 vm-photon01 192.168.9.105 10.10.10.105 10.10.20.105 10.10.30.105 3.0 cato-default cato-vlan20 cato-vlan30 Trunk Default VLAN 10.10.10.0/24 VLAN ID 20 VLAN ID 30 10.10.30.0/24 10.10.20.0/24 LAN1 WAN1 Cato Cloud SD-WAN 10.0.0.0/8 コンテナ コンテナ コンテナ .1 Cato Cloud について、詳しくはこちらをご覧 ください。 https://cato.fuva-brain.jp インターネット接続用 ルータ Cato Socket 192.168.9.0/24 SD-WAN を含む SASE(Secure Access Service Edge)の検証にはたくさんの端末が必要です。 そこで、ESXi7 で、Photon OS + Docker を使うことにしました。 実際は eth1 を利用 | 3
  • 5. 1. Rocket.Chat の起動 Photon OS + Docker の環境です。 | 5 docker-compose がインストールされている前提です。 未インストールなら Docker-docs を参照してインストールを行ってください。 • Docker Compose — Docker-docs-ja 19.03 ドキュメント https://docs.docker.jp/compose/
  • 6. 1-1. Rocket.Chat のインストール | 6 # mkdir -p /opt/rocket.chat ; cd $_ # curl -L https://raw.githubusercontent.com/RocketChat/Rocket.Chat/develop/docker-compose.yml -o docker-compose.yml # docker-compose up -d Starting rocketchat_mongo_1 ... done Starting rocketchat_rocketchat_1 ... done Starting rocketchat_mongo-init-replica_1 ... done Starting rocketchat_hubot_1 ... done 1. Rocket.Chato のディレクトリを作る。 ⇒ /opt/rocket.chat 2. docker-compose.yml をダウンロード 3. 起動!
  • 7. 1-2. 起動したコンテナを確認 | 7 # docker-compose ps Name Command State Ports --------------------------------------------------------------------------------- rocketchat_hubot_1 /bin/sh -c node -e "consol ... Up rocketchat_mongo-init-replica_1 docker-entrypoint.sh bash ... Exit 0 rocketchat_mongo_1 docker-entrypoint.sh mongo ... Up rocketchat_rocketchat_1 docker-entrypoint.sh bash ... Up 無事に起動できました! 稼働中のコンテナを確認して みましょう。 # curl -I -s http://localhost:3000 HTTP/1.1 200 OK X-XSS-Protection: 1 X-Content-Type-Options: nosniff X-Frame-Options: sameorigin X-Instance-ID: zwZh6Psm7PStdz3PM Content-Type: text/html; charset=utf-8 Vary: Accept-Encoding Date: Sat, 30 Jan 2021 **:**:** GMT Connection: keep-alive 動作確認 3000/tcp で稼働中です。
  • 8. 2. ネットワーク設定 | 8 eth1.30 cato-vlan30 10.10.30.0 /24 rocketchat_default 172.18.0.0 /16 bridge 現在 設定後
  • 9. 2-1. docker network | 9 # docker network ls NETWORK ID NAME DRIVER SCOPE ************ bridge bridge local ************ cato-default macvlan local ************ cato-vlan20 macvlan local ************ cato-vlan30 macvlan local ************ host host local ************ none null local ************ rocketchat_default bridge local これを使いたい! 現在、使用中 この時点では rocketchat_default というブリッジを使用している様です。 VLAN ID 30 を使いたいので、設定を変更します。
  • 10. 2-2. rocketchat_default | 10 # docker network inspect rocketchat_default [ { "Name": "rocketchat_default", ... "IPAM": { ... "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1" } ... "Containers": { ... "Name": "rocketchat_mongo_1", ... "IPv4Address": "172.18.0.2/16", ... "Name": "rocketchat_rocketchat_1", ... "IPv4Address": "172.18.0.3/16", ... ところで、前頁にて「rocketchat_default という ブリッジを使用している様です」と書きましたが 本当でしょうか? ちょっと確認をしてみたいと思います。 docker-composer ps を実行した際に出てきた コンテナが確認できました。
  • 11. 2-3. 設定変更 | 11 eth1.30 cato-vlan30 10.10.30.0 /24 rocketchat_default 172.18.0.0 /16 bridge これをやめて こっちに変更 # pwd /opt/rocket.chat # docker-compose stop Stopping rocketchat_hubot_1 ... done Stopping rocketchat_rocketchat_1 ... done Stopping rocketchat_mongo_1 ... done # cp -p docker-compose.yml docker-compose.yml.original # vi docker-compose.yml アプリケーションを停止します。 docker-compose.yml のバック アップをしてから設定変更を行い ます。
  • 12. 2-4. 設定変更 | 12 # diff docker-compose.yml docker-compose.yml.original 3,7d2 < networks: < default: < external: < name: cato-vlan30 < 37,39d31 < networks: < default: < ipv4_address: 10.10.30.201 50,52d41 < networks: < default: < ipv4_address: 10.10.30.202 71,73d59 < networks: < default: < ipv4_address: 10.10.30.203 96,98d81 < networks: < default: < ipv4_address: 10.10.30.204 設定変更前後の差分を見てみます。 追記だけですね。 先に cat-vlan30 の使用を宣言しておきます。 そして、各コンテナ(services)の設定では ネットワークの指定と、固定 IP アドレスを 記述しています。
  • 13. 2-5. 設定変更(2) | 13 version: '2' networks: default: external: name: cato-vlan30 services: rocketchat: image: rocketchat/rocket.chat:latest ... networks: default: ipv4_address: 10.10.30.201 mongo: image: mongo:4.0 ... networks: default: ipv4_address: 10.10.30.202 ... mongo-init-replica: image: mongo:4.0 ... networks: default: ipv4_address: 10.10.30.203 ... hubot: image: rocketchat/hubot-rocketchat:latest ... networks: default: ipv4_address: 10.10.30.204 ... Rocket.Chat MongoDB MongoDB (レプリカ) 設定変更後の docker-compose.yml です。 黄色いところが追記した部分です。 前頁で述べたネットワーク(cato-vlan30) と、4つのコンテナへの設定をしています。 cato-vlan30 10.10.30.0/24 hubot
  • 14. 2-6. 確認 | 14 # docker network inspect cato-vlan30 [ { "Name": "cato-vlan30", ... "Containers": { ... "Name": "rocketchat_mongo_1", ... "IPv4Address": "10.10.30.202/24", "IPv6Address": "" ... "Name": "rocketchat_rocketchat_1", ... "IPv4Address": "10.10.30.201/24", ... "Name": "rocketchat_hubot_1", ... "IPv4Address": "10.10.30.204/24", ... アプリケーションを起動して、 確認をしてみましょう。 # docker-compose up -d Starting rocketchat_mongo_1 ... done Starting rocketchat_rocketchat_1 ... done Starting rocketchat_mongo-init-replica_1 ... done Starting rocketchat_hubot_1 ... done ブリッジ「cato-vlan30」を使用しているコンテナ と、その IP アドレスを確認します。
  • 15. 2-7. 実際の利用で確認 | 15 完了です! Cato Client 10.41.14.148/32 SD-WAN vm-photon01 10.10.30.201 SD-WAN を介して、Rocket.Chat の コンテナにアクセスしてみます。 ばっちりです!
  • 16. 当 は「未 の 」( )を する「 」( )をめ し、 すべてのお 様に で 使いやすく 用で きやすい 環境と ー スを提 します。 株式会社フーバーブレイン https://www.fuva-brain.co.jp Cato Cloud https://cato.fuva-brain.jp 事業開発室 取扱サービス 生産性の向上支援 Ey “247” https://www.eye247.jp