--- title: たいそうりっぱになったねえ。dc/os 1.10 slideOptions: transition: fade theme: black --- # たいそうりっぱに<br>なったねえ。<br>DC/OS 1.10 @jyoshise ---- ## Agenda * 改めて。DC/OSとは * DC/OS 1.10 どうでしょう * コア機能Update * Kubernetes * その他 * これからはじめるには ---- ## ここでいきなりデモです ---- ### DC/OS 1.10のクラスタにKubernetesをデプロイしてみます ---- #### DC/OS Universe Packageの仕組み <img src="https://i.imgur.com/h1B6wqo.png" height="300"><img src="https://i.imgur.com/Jem6sAQ.png"> ようするにmarathon.jsonのテンプレートとそこに埋めるパラメーター。 ---- ## 改めて<br>DC/OSとは ---- - Mesosphere社が開発/メンテナンスを行っているOSS - web: https://dcos.io - ソースコード: https://github.com/dcos - ドキュメント: https://dcos.io/docs - Apache Mesosをコアとして、各種フレームワークを容易に展開できるようにしたディストリビューション ---- - エンタープライズ版もあり - コミュニティ版 + 一部プロプラな機能追加 + サブスクリプションサポート - web: https://mesosphere.com/product/ - ドキュメント:https://docs.mesosphere.com/ - コミュニティ版とエンタープライズ版の差異: https://mesosphere.com/pricing/ - マルチテナンシーやセキュリティなど、エンタープライズのプロダクション環境に必要な機能が追加されてます ---- ![](https://i.imgur.com/ZURPOaO.png) ---- ## DC/OS 1.10どうでしょう ---- | バージョン<br> (最新マイナーバージョン) | 1.8 (1.8.9) | 1.9 (1.9.5) | 1.10 (1.10.0) | | ---------- | --------------| --------------- | ------------ | | リリース時期 | Jul 31, 2016<br>(Jun 17, 2017) | Mar 29, 2017<br>(Sep 28, 2017) | Sep 7, 2017 | | Mesos | 1.0 | 1.2 | 1.4 | | Marathon | 1.3 | 1.4 | 1.5 | ---- ### DC/OS 1.10 Update ---- #### Networking - Spartan(DC/OSクラスタ内のDNSサービス)が上位ドメインを継承できるようになった(*.hogehoge.co.jpとか) ---- - CNI対応(※Preview扱い) ```{ "name": "dcos", "type": "bridge", "bridge": "m-dcos", "isGateway": true, "ipMasq": false, "mtu": 1420, "ipam": { "type": "host-local", "subnet": "9.0.1.0/25", "routes": [ { "dst": "0.0.0.0/0" } ] } } ``` ---- #### Platform - Node/ClusterのHealth Checkが柔軟にできるようになった https://dcos.io/docs/1.10/installing/custom/node-cluster-health-check/ --- #### UI - GUI:大きな変更なし - CLI:マルチクラスタ対応など ---- #### Container Runtimeの選択肢 - Universal Container Runtime (UCR) - Mesos Containerizerを拡張し、Docker Imageに対応したもの(今後AppC,OCIにも対応するかも)。基本的にはこちらが推奨。 - Docker Engine - Docker独自のオプションを使う必要がある場合はこちら。 - 詳しくは https://dcos.io/docs/1.10/deploying-services/containerizers/#container-runtime-features ---- ##### Container Orchestratorの選択肢 <img src="https://i.imgur.com/QYylB6m.png" height="100" border="0"> - Marathon <img src="https://i.imgur.com/cRBkJCf.png" height="100" border="0"> - Kubernetes - 現時点でbeta扱い。 ---- ##### Why (改めて) Kubernetes? ![](https://i.imgur.com/K7aERrc.png) ---- 大人の事情(長いものには巻かれろ的な)? ![](https://i.imgur.com/0qbNW6V.png) ---- ##### Kubernetesを(他のインフラではなく)DC/OSの上で動かすメリット - デプロイ簡単 - DC/OS上のデータサービスとの接続 - DC/OS上の他のワークロードとの共通リソース管理 ---- ##### (Marathonだけではなく)KubernetesをDC/OSの上で動かすメリット - Kubernetes前提で開発したサービスがそのまま動く - Kubernetes自体はアップストリームのreleaseそのもの(現時点ではv1.7.7) - Why not? ---- ##### 現状(beta)でできていなくて今後実装予定 - APIへの認証 - K8sの無停止アップグレード - Dynamic external ingress - Kubeletの動的な追加/削除 - などなど ---- #### その他Universeから展開できるPackageとか https://universe.dcos.io/#/packages ---- ##### 鉄板データサービス(M7) - Spark - Kafka - Confluent Kafka - Cassandra - Datastax DSE MAX - Elastic - HDFS →Mesosphere社がPackageのメンテナンス/テストを行い、Production Readyと謳っている。 ---- ##### 個人的注目パッケージ ![](https://i.imgur.com/HhTxVGU.png) ![](https://i.imgur.com/rRlszry.png) ![](https://i.imgur.com/lciwcU4.png) ---- 時間があればなんかデモ ---- ### これから始めるには - DC/OSそのものはVagrant(VM1台から)で試せます。 - どうせやるならいろんなフレームワーク(Universe Package)を動かしたいので、その場合は5ノードぐらいは欲しいです。パブリックIaaS上にも問題なくデプロイできます。 - 海外ではDC/OSのコミュニティはMesos自体のコミュニティ以上に活発なので、気軽に参加してみましょう。 ---- #### DC/OSの上で各種サービスを動かすexample集 https://github.com/dcos/examples 現状大半が1.9前提になっていますが、1.10対応をコミュニティで進めています。 https://mesosphere.com/blog/sticker-service-example-updates/ ---- ### まとめ - 全体的にCNCFへの歩み寄りによりエコシステムを充実させていく方向 - 純粋なコンテナオーケストレーションだけでなく、多様なワークロードにリソースを提供できることがバリュー - ひとつ触れる環境があると、新しいものいろいろ気軽に試せて便利ですよ