Skip to content

Instantly share code, notes, and snippets.

@ohtake
Last active December 11, 2015 06:53
Show Gist options
  • Save ohtake/7d799ad8ac149afe1dd7 to your computer and use it in GitHub Desktop.
Save ohtake/7d799ad8ac149afe1dd7 to your computer and use it in GitHub Desktop.
日本OpenStackユーザ会 第24回勉強会 メモ

日本OpenStackユーザ会 第24回勉強会

  • 2015/12/04(金) 19:30 〜 21:30
  • 株式会社インターネットイニシアティブ, 東京都千代田区富士見2-10-2(飯田橋グラン・ブルーム)
  • http://connpass.com/event/22688/
  • #opst24

OpenStack with Docker and HashiCorp

発表

  • アンケート
    • 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 で環境や依存関係を定義。

QA

  • HashiCorp のツールはオープンソースか。プログラミング言語は何か。
    • すべてオープンソース。言語は Go が多い。
  • コンパティビリティチェックを行うツールはあるか。
    • 現状ない。
  • Vagrant で DSL は Ruby。Terraform は独自の DSL に見える。なぜ Ruby ではなくしたのか。
    • より使いやすくということで HCL という独自の言語にした。
  • コンテナのオーケストレーションをするときには、L2でつなぐのかテナントで分けるか、とかなどどの程度まで実装されているのか。
    • Docker 1.9 はネットワーク機能が強化され、オーバーレイネットワークも可能。今言われたことは可能。Docker swarm は立ち上げるところまでなので、その先は別のツールが必要。日本では Kubernetes がもっとも有名。

Introduction to Magnum

発表

  • コントリビュータ
    • 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 でデプロイが失敗するときはたいていメモリ不足。

QA

  • ネットワークはどうなっているか。
    • Neutron の上に Flannel のオーバーレイネットワーク。
  • 開発のトピック。
    • 発表中に多数あった突っ込みどころを直すことが先。すごい機能を作る段階ではない。
  • Mesos に対応している?
    • 対応していないはず。Jenkins のテストも真っ赤。
  • Magnum 込みの DevStack はないか。
    • DevStack が嫌いなので。
  • Nova からコンテナを見えるようにするか。
    • 別にしている。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment