SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんやTakuya ASADA
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)NTT DATA Technology & Innovation
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと心 谷本
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るGo Miyasaka
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Yuichi Sakuraba
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User NamespacesAkihiro Suda
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~Juniper Networks (日本)
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをi_yudai
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018Masahito Zembutsu
 

Tendances (20)

ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
BHyVeってなんや
BHyVeってなんやBHyVeってなんや
BHyVeってなんや
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
FreeBSD Capsicum
FreeBSD CapsicumFreeBSD Capsicum
FreeBSD Capsicum
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド -
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces[Container Runtime Meetup] runc & User Namespaces
[Container Runtime Meetup] runc & User Namespaces
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 

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

「Photon OS + Docker」VLAN 環境の構築
「Photon OS + Docker」VLAN 環境の構築「Photon OS + Docker」VLAN 環境の構築
「Photon OS + Docker」VLAN 環境の構築Fuva Brain
 
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"
On-premise コンテナ基盤と Hardware LB を使った "type LoadBalancer"Masaya Aoyama
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...VirtualTech Japan Inc.
 
Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514Cloud stack徹底入門7章 20130514
Cloud stack徹底入門7章 20130514samemoon
 
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例SAKURA Internet Inc.
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
OSC2011 Tokyo/Fall JOSUG
OSC2011 Tokyo/Fall JOSUGOSC2011 Tokyo/Fall JOSUG
OSC2011 Tokyo/Fall JOSUGHideki Saito
 
Trema での Open vSwitch
Trema での Open vSwitchTrema での Open vSwitch
Trema での Open vSwitchkazuyas
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
Cloudstack networking の内側
Cloudstack networking の内側Cloudstack networking の内側
Cloudstack networking の内側Hiroaki Kawai
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Masahito Zembutsu
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
もしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらもしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらTakuma Nakajima
 
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf)
Havana版 RDO-QuickStart-2 (140421-Havana-RDO-QuickStart-2.pdf) VirtualTech Japan Inc.
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
VlanManagerを使ってみた
VlanManagerを使ってみたVlanManagerを使ってみた
VlanManagerを使ってみたHiroki Ishikawa
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 
OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察OpenDaylightを用いた次世代ネットワーク構成管理の考察
OpenDaylightを用いた次世代ネットワーク構成管理の考察Naoto MATSUMOTO
 
Nsegソフトウェアルータvyatta
NsegソフトウェアルータvyattaNsegソフトウェアルータvyatta
Nsegソフトウェアルータvyattajem 3
 

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

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

「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