久し振りにこういった勉強会に参加してきました。
クラウド・仮想化界隈のソフトウェアが増えてきて、
何が何やらって感じだったので キーワードをまとめて置きたいと思います。
Docker
今回の主題 Docker LXC Linuxコンテナと呼ばれるシステムを使っている
Dockerファイル…イメージの作成手順が記載されている
DockerファイルからDockerイメージを作成
DockerHubにPushしたりできる
VirtualMachine のVMDK 仮想ディスクを作ると
データ容量が大きい
コンテナだとイメージが小さくできる
docker pull すると
DockerFileとDockeImage の差分をLocalに適用して動かせる
Device Mpper Thin-Provisioning (Dm-thin)
Dockerイメージの内部構造はデータ用デバイスの上に論理デバイスをかぶせて読み書きしている
中身はディレクトリツリーがアーカイブされている様子。
VMDKとかと一緒のような気もするが。
スナップショットを取るように変更の差分を記録し、
その差分をすでにローカルに持っていれば使うという方法で、
イメージファイルの容量を小さくできる様子。
ローカルにベースとなるOSのDockerイメージが無ければ、
全部取ってくる事になるからダウンロード容量は減らない。
と思われる。
今後知りたいこと
ただ元がコンテナなのでホストのOSと共有している部分があるのか、ないのか気になる。
DockerFileで定義できるものは何か?
パッケージの情報?
ネットワークの情報?
参考資料:
http://www.slideshare.net/enakai/docker-43975886
http://www.slideshare.net/enakai/docker-is-not-container-dockerpaas
デモとかで気になったコマンド
watchコマンド
losetupコマンド
Atomic Host
RedHatが作ったDockerに適したディストリビューション
Docker以外の機能・ソフトが入らない
yumがない
Kubernetes
Dockerコンテナを複数管理できる
サービスを2つ起動してやると、
勝手にロードバランスしてくれる。
RedHatのOpenShiftV3は中身にKubernetesを使っている
マイクロサービス
ファンクションごとにサービス・機能を切り分けて
コンテナごとに動かすようなことをしていれば
影響範囲を小さく限定的にできる考え方
C4SA
ニフティのPAAS
tutum
コンテナ事業者
IBM Containers
BlueMix
IBMとDockerが提携
IBMがDockerを使って提供する
IBM BluemixというPaaS
IBMがIaaSのベンダーSoftLayerという会社を買収した
Docker Imageのプライベートリポジトリが提供される
Dockerの実行環境が提供される
現在ベータ版なので無料で使える枠がある
GoogleContainerEngine
GCEだとGoogleComputeEngineになってしまうため、
GKEと呼ばれるらしい
アルファ版
マネージドKubernetes
Docker Machine
Machine Swarm Compose Orchestration
Docker MachineはDockerの実行環境を自動で作成できるツール
実行環境を作る先は豊富
AmazonEC2 デジタルオーシャン GoogleComputeEngine などなど
Docker Mesosとは
Apache Aurora は Mesosのフレームワークの一つ
ジョブスケジューラ
Dockerネットワーキング
Dockerは単体のPCの中で動作する分には、
コンテナ同士の通信に困ることはないが、
複数のサーバやクラウドサービス上で動作している場合、
違うサーバ上のコンテナ間で通信させようとすると、
途端に難しくなる。
それを解消するためのツール群が出てきている、ということみたい。
flannel
weave
Socket
OpenVNet
株式会社あくしゅさんが開発している
ネットワーク仮想化ソフトウェア
wakame-vdc からスピンアウト
商用だとVMware NSX
VDC
RancherIO
Dockerホストの管理
コンテナ操作
オーバレイネットワークの提供
ホスト・コンテナのリソース監視
プライベートリポジトリの作成
プロジェクト管理
アクセス制御
Githubアカウントによる制御