KubeCon報告からKubernetes対応版Dockerまで、Docker Meetup Tokyo #20開催

この回では、同月に米国Texasで開催された「KubeCon+CloudNativeCon North America 2017」の報告や、10月に発表されたKubernetes対応版Dockerのβ版がこの日に公開されたのが目玉となった。また、Mobyプロジェクトについて紹介されたほか、機械学習環境のためのコンテナーオーケストレーションの利用の話題が複数セッションで語られたのも印象的だった。
KubeCon+CloudNativeCon NA 2017の報告
Takuya Noguchi氏は、「KubeCon+CloudNativeCon North America 2017」について報告した。
KubeConはKubernetesのカンファレンスで、今回で5回目。参加者は4100人強で、2016年11月のシアトル開催で1000人程度、2017年3月のベルリン開催で千数百人程度という数から大きく伸びた。スポンサーも100社強で、ベルリンでの約40社から大きく伸びた。
トレンドとしてNoguchi氏は「サービスメッシュ」「セキュリティ」「サーバーレス」の3つを取り上げた。マイクロサービスのためのサービスメッシュとしてはIstio(とEnvoy)があり、Istioは現在CNCFのプロジェクトになるためのプロポーザルを出しているところだという。
セキュリティでは認証のNotaryがあり、NotaryとTUF(The Update Framework)はCNCFのプロジェクトとなっている。またサーバーレスをNotary氏は「個人的に一番大きい」として紹介した。いまワーキンググループがホワイトペーパーを出している段階で、レビューが続いているという。
次回は2018年5月にKubeCon+CloudNativeCon Europeがコペンハーゲンで開催される。また、2018年には11月に始めてKubeCon+CloudNativeCon Chinaが上海で開催される。なお、その1か月後にはKubeCon+CloudNativeCon North Americaがある。





そのほか、LTで登壇したcyberblack28氏もKubeCon+CloudNativeCon North America 2017の参加報告をした。
トピックとしては、Google Homeに声で「OK Google, create kubernetes clusters」と命令するというKelsey Hightower氏の発表を紹介。そのほか、Kubernetes 1.9や、サービスメッシュという言葉がよく聞かれたこと、サーバーレスのKubelessなどの話題が報告された。


新登場のKubernetes対応版Dockerをデモ
須田瑛大氏は、ちょうどこの発表の当日に公開されたKubernetes対応版Dockerのβ版について紹介し、デモも実演した。
これは、DockerとKuberentesの呼び出し関係が逆転し、dockerコマンドから「docker stack deploy」でKuberentesにデプロイできるというものだ。構造としては、dockerコマンドがdockerdを経由せずに直接Kubernetesと通信する。その間に「Kamoulox Compose」というプロプライエタリなソフトが入ってコマンドを変換しているという。
入手するには登録が必要。発表時点ではDocker for Macのみとのことだった。



Dockerの上流プロジェクトのMobyとは
Kunal Kushwaha氏は、Mobyプロジェクトについて紹介した。Mobyはコンテナーシステムを作るためのツールキットで、現在ではDockerの上流プロジェクトとして位置づけられている。
背景としては、Dockerをきっかけにコンテナーの世界が広がり、DockerやKubernetes、Rancher、CoreOSなどさまざまなプロジェクトが登場したことがある。また、DockerもDocker CEとDocker EEに分かれるなど、大きくなってきた。これによりプロジェクト間で機能の重複や衝突が発生するようになってきた。そこで、コンポーネントをMobyプロジェクトとして開発し、これをレゴのように組み合わせることでそれぞれのコンテナーシステムを開発しようという考えだ。
Mobyの構成要素には、低位レイヤーのコンテナーランタイム「runC」、高位レイヤーのコンテナーランタイム「containerd」、カスタムLinuxを作るための「LinuxKit」などがある。Kushwaha氏は、それぞれの役割や機能を、具体的な操作方法などもまじえて解説した。




コンテナーオーケストレーションで機械学習環境構築
Kubernetesなどコンテナーオーケストレーションツールによる機械学習クラスターの構成に関する発表が複数あったのも印象的だった。
大嶋悠司氏は、KubernetesでGPUクラスタを構築する方法を、失敗した点をまじえて解説した。
現在Kubernetesではα版としてGPU管理に対応している。これをドキュメントどおりに試したがうまくいかなかったという。これはnvidia-dockerがバージョン2になって構造や位置づけから変わったためで、nvidia-docker2はOCI準拠のコンテナーランタイムnvidia-runtimeベースとなっているという。
構築方法としては、Kubernetes+Docker+nvidia-docker2による方法と、Kubernetes+cri-containerd+nvidia-runtimeによる方法の2とおりが紹介され、簡単なデモがなされた。





youchan氏のLTでは、所属するレトリバ社でパッケージ化された機械学習アプリケーションを客先に構築するためにKubernetesを使っている事例が紹介された。個別のソリューションに対して、たとえば音声認識+キーワード抽出+文章検索のように複数の製品を組み合わせるときの問題を減らすためだという。そこで、Kubernetes環境をローカルのVM上に作成するminikubeを利用しているとのことだった。

Chanmoro氏のLTでは、所属するNextremer社内で機械学習環境を必要なときに作る「Shiva」を紹介した。オンデマンドでJupyter Notebook環境のDockerが起動するもので、「予算がついてないとクラウドの利用費用は使いにくい」という理由から作られたという。オーケストレーションには、シンプルにしたいということでKubernetesではなくMesosとMarathonが使われている。コンテナが暴走することもあるというが、社員だけなので大きな問題にはなっていないとのことだった。

<編集部より>2018年2月1日22:00訂正: Docker Meetup Tokyoの過去の開催時期の説明に誤りがありました、お詫びして修正致します。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Kubernetes 1.20から始まるDockerランタイムの非推奨化に備えよう!我々が知っておくべきこと・すべきこと
- Intelが中国のベンチャーHyperと共同で開発を進める新しいコンテナランタイムKataを公開
- KubeCon+CloudNativeCon開催、勢いのあるKubernetesとCNCFプロジェクトが一同に
- KubeCon+CloudNativeCon North America 2023のキーノートとショーケースを紹介
- runC vs. cc-runtime vs. kata-runtime?コンテナランタイムの内部構造と性能比較
- CNDO 2021、サイバーエージェントのテックリードがコンテナランタイムの最新情報を解説
- KubeCon NA 2022、日本人参加者による座談会でWebAssemblyの未来を読む
- CNDO 2021、Kubernetesとコンテナの基本的構造をNTTの徳永航平氏が解説
- OpenShift Commons GatheringからMicroShiftとCockroachDBを紹介
- KubeCon EUのRISC-Vのキーノートから見えるKubernetes的なオープンハードウェアとは