- 2015/12/04(金) 19:30 〜 21:30
- 株式会社インターネットイニシアティブ, 東京都千代田区富士見2-10-2(飯田橋グラン・ブルーム)
- http://connpass.com/event/22688/
- #opst24
- 19:30 - 20:20
- 前佛さん
- アンケート
- Docker 初心者か。大半。
docker
コマンドを使ったことがあるか。大半。- 初心者というのは嘘ですね。
- コンテナが出てくるまでの流れ
- rsync などでファイル同期を取っていた時代。手間が多く、特に壊れた時の修復が大変。
- Chef や Ansible などの構成管理。開発環境と本番環境が異なる。
- Docker 誕生。2013年3月の PyCon の LT で発表。Linux の control groups と namespaces でプロセスを分離。
- 今までのコンテナ技術と違ってプラットフォーム
- サーバ・クライアント型、Docker Hub、オープンソース
- Docker and OpenStack
- もっとも簡単なのは OpenStack のインスタンスに Docker をインストール。
- Vagrant, Packer, Terraform が HashiCorp が出しているツール。
docker-macihne
は、インスタンスの自動起動、Dockerセットアップ、リモートSSHを自動でやってくれる。- Docker swarm は複数の docker を管理する。ディスカバリバックエンドにある Consul や etcd に死活情報を管理し、Swarm manager がリソースプールを提供する。
- もっと上位のことをしたい場合には Kubernetes, fleet, MESOS, Apache Aurora, Docker compose, Nomad などを使う。
- Docker compose の将来のバージョンではコンテナ間で vlan を切ったりもできるようになる。
- HashiCorp
- Vagrant, Packer, Terraform, Consul, Nomad, Serf, Vault, Atlas, Otto などを提供しており Simple, Moduler, Composable が思想。
- 2012年設立。
- 技術的に目新しくはないが、同じ手順を効率的にする。
- Nomad
- 分散スケジューラ。
- コンテナだけではなく、コンテナ(Docker)、仮想化(Qemu,KVM)、バイナリ実行(jar)などに対応。
- Otto
- Vagrant や Packer などを統一的に扱うツール。
- Vagrant 相当は
otto dev
など。 - Appfile で環境や依存関係を定義。
- HashiCorp のツールはオープンソースか。プログラミング言語は何か。
- すべてオープンソース。言語は Go が多い。
- コンパティビリティチェックを行うツールはあるか。
- 現状ない。
- Vagrant で DSL は Ruby。Terraform は独自の DSL に見える。なぜ Ruby ではなくしたのか。
- より使いやすくということで HCL という独自の言語にした。
- コンテナのオーケストレーションをするときには、L2でつなぐのかテナントで分けるか、とかなどどの程度まで実装されているのか。
- Docker 1.9 はネットワーク機能が強化され、オーバーレイネットワークも可能。今言われたことは可能。Docker swarm は立ち上げるところまでなので、その先は別のツールが必要。日本では Kubernetes がもっとも有名。
- 20:30 - 21:20
- 大塚さん
- http://www.slideshare.net/oyuanying/introduction-to-magnum-jp
- コントリビュータ
- Magnum でユーザができることは特にないので、日本のコントリビュータを増やしたい。北米に多いのでミーティングの時間を快適にするために日本のコントロビュータを増やす。
- NEC の OpenStack コミュニティ対応チームは日本人5人、中国人1人、インド人3人。
- OpenStack とのかかわり
- 2011年に Cloud Foundry で、2014年に Cloud Foundry から戦略撤退。
- それ以降 OpenStack。
- Magnum
- 2013年で OpenStack のコンテナ対応を言及。
- 2014年11月にプロジェクト始動。
- 2015年3月に OpenStack プロジェクト昇格。
- 現状では Container as a service ではなく Container orchestration tools installaion as a service に成り下がっている。
- Kubernetes クラスタの管理(予定)、コンテナ管理のアブストラクションレイヤ(予定)
- 使い方
- 管理するリソース: Baymodel, Bay (Kubernetes Type Bay, Swarm Type Bay), Kubernetes Type Bay (Service, Replication controller, Pod), Swarm Type Bay (Container)
- BayModel の作成でフレーバやキーペアやボリュームサイズなどを指定。
- Bay の作成でノードやマスターの数などを指定。
- Magnum client で Pod/Service の作成。現状では Native client を推奨。
- アーキテクチャ
- (シーケンス図などがあるのでスライドが公開されるといいな)
- 開発環境
- DevStack とは別ノードに Magnum を立てるようにしている。
- https://gist.github.com/yuanying/f27cef22738acf8b1db5
- イメージは
fedora-atomic
でしかテストされていないのでこれを指定すること。なぜ Fedora Atomic なのか不明。デザインサミットで誰も把握しておらず、 Fedora Atomic が好きなら手を上げろと言っても誰も上げなかった。
- デモ
- DevStack が立ち上がっている状態から、キーペア作成、Baymodel作成、Bay作成で Kubernetes クラスタが5分くらいでできる。TLS認証を設定して
kubectl
で Pod 作成。 - Magnum でデプロイが失敗するときはたいていメモリ不足。
- DevStack が立ち上がっている状態から、キーペア作成、Baymodel作成、Bay作成で Kubernetes クラスタが5分くらいでできる。TLS認証を設定して
- ネットワークはどうなっているか。
- Neutron の上に Flannel のオーバーレイネットワーク。
- 開発のトピック。
- 発表中に多数あった突っ込みどころを直すことが先。すごい機能を作る段階ではない。
- Mesos に対応している?
- 対応していないはず。Jenkins のテストも真っ赤。
- Magnum 込みの DevStack はないか。
- DevStack が嫌いなので。
- Nova からコンテナを見えるようにするか。
- 別にしている。