« リーンスタートアップ系の本のリンク | トップページ | astah*の因果ループプラグインがいいね »

2021/05/07

Dockerは仮想スイッチと仮想イメージの両方を持つ

下記の記事で、Dockerは仮想スイッチと仮想イメージの両方を持つと理解した。
自分の気づきをメモ。
間違っていたら後で直す。

【参考】
【連載】世界一わかりみが深いコンテナ & Docker入門 ? その5:Dockerのネットワークってどうなってるの? ? | SIOS Tech. Lab

僕は、DockerとVMの違いが分かってなかった。
VMWareのソフトでVMの仮想NICをいじったり、VMSphereで複数のVMを再起動する、とかしていたけれど、何か腑に落ちなかった。
なるほど、dockerでは、CentOSの2つのVMを構築するだけでなく、仮想スイッチまで作ってくれるわけだ。

# docker run -it -d --name test01 centos:centos7
# docker run -it -d --name test02 centos:centos7

この仮想スイッチは、L3スイッチに似ている。
IPアドレスを持つし、デフォルトゲートウェイも持つ。
そうでなければ、VMから外部ネットワークへ通信できない。

では、なぜDockerは仮想スイッチが必要なのか?
理由は、おそらく、仮想スイッチを経由して、VMや他のNW機器とパケット転送やイーサネットフレーム転送を制御する必要があるから。
イメージ的には、Dockerの仮想スイッチに、PCとコンソールケーブルで接続して、PCから仮想スイッチにログインして、VLANやSTP、OSPFなどを設定できるようにしたいのだろう。
つまり、Dockerの仮想スイッチは、ネットワーク制御の入り口に当たるわけだ。

また、Linuxをいじっている時に、iptables をよくわからずに操作していたが、NAT機能のことだったのね。
すると、Linuxそのものをルータとして機能させていたわけだ。

Dockerが仮想スイッチを操作できるならば、Dockerを動かすOSそのものをNAT機能を持つルータにしてしまえば、Webシステムの冗長化やブルーグリーン・デプロイメントも楽に制御できるはず。
こういう技術がない頃は、手作業でロードバランサーの向き先を変えて、2つのWebサーバーに順に本番モジュールをリリースしていたが、いつも冷や汗をかいていたのを思い出した。

Dockerで仮想スイッチやVMも一括設定できるなら、どの環境にも簡単に移植できるようになるはず。
さらには、クラウドの種類、AWS、Azureに依存しないように構築できるはず。
Infrastructure as codeは、移植性を透明的にする方向に進化しているわけだ。

|

« リーンスタートアップ系の本のリンク | トップページ | astah*の因果ループプラグインがいいね »

Agile」カテゴリの記事

ネットワーク・クラウド」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« リーンスタートアップ系の本のリンク | トップページ | astah*の因果ループプラグインがいいね »