はじめに
Dockerを調べてみたの続き。
Dockerを試したときにDockerを支えるエコシステムの用語がたくさんでてきたのでまとめてみました。
参考
実践的でわかりやすかったです。詳細はこちらをみてください。
シングルホスト環境でのコンテナ管理
Docker Compose
複数コンテナを実行を一括で管理する。シングルホストホスト環境で用いる
マルチホスト環境でのコンテナ管理
コンテナオーケストレーションツール
マルチホスト環境においてコンテナを統合できるツールのこと。Docker Swarm
、kubernets
などがある。マルチホスト環境の場合は通常コンテナオーケストレーションツールを用いてコンテンを管理する
Docker Swarm
複数のDockerホストを束ねてクラスタ化するためのツール。かつては独立したツールだったが、現在はDocker本体に組み込まれている。有効化すれば使用できる
kubernets(クーバーネティス)
- GoogleがOSSとして公開
- DockerSwarmより機能が充実。なのでマルチホスト環境でDockerを使うならSwarmよりKubernates??
クラウド
Amazon EKSやGKE
- パブリッククラウドが提供するkubernetsをサポートしているマネージド・サービス
- kubernetesを便利な機能、GUIなどでラップしてより使いやすくしているイメージ??
- Master管理やメンテナンスはサービス側によって管理
- GKEは最も利用されているマネージド・サービス
オンプレ環境
kubespray
- オンプレ環境でkubernetesクラスタを構築するツール
- マスターサーバ、作業用サーバ、ノードサーバなど、ホストが複数必要
補足
DockerMachine
どこでもコマンド一つでDockerの実行環境を構築できるコマンドラインツール。aws,Azure,GCE,VMwareなどの様々な環境に対応している。マルチホスト環境で用いる。
まとめ
kubernatesを本番環境で使うときは運用で楽ができるGKEのようなクラウドを使ったほうがよいかと思いました。クリティカルなサービスではない場合はオンプレ環境でシングルホストでDockerComposeを使えば本番環境でも運用できそうです。