Docker Meetup Tokyo #28開催レポート
こんにちは。NTTの牧野です。今回は2019年2月26日、Docker Tokyoコミュニティが主催するDocker Meetup Tokyo #28のレポートをお届けします。
場所は前回と同じ、NTTソフトウェアイノベーションセンタの田町オフィスを使って開催されました。
今回のイベントはいつもと雰囲気を変えて、Docker初心者も歓迎のライトニングトーク(LT)大会ということで、機能紹介やプロダクション環境でいかに利用しているかといった内容など、様々なDockerの話題が繰り広げられていました。LT9件、スポンサーセッション1件の発表がありましたのでその内容を簡単にレポートしたいと思います。
LT1: Virtual Machine Magement on Kubernetes
弊社 Kunal Kushwaha (@kunalkushwaha)
Kubernetes上でVMを管理するためのツールKubeVirtの紹介がありました。
アプリケーションのコンテナ化を進める一方、アプリケーションによっては、カスタムカーネルが必要だったり、カーネルパラメータを変えていたり、コンテナへのマイグレーションが困難だったりといった課題からVMでアプリケーションを動作させるケースがあり、KubeVirtを使えば、他のリソースと同様にkubectlを使用してKubernetes上でVMを管理できるようになるそうです。
LT2: About Docker Engine API
Gorilla (@gorilla0513)さん
Docker CLIは裏側でDocker Engine APIをコールしており、どのようなAPIがあるのか、またAPIが呼び出されるメカニズムをソースコードを交えながらの紹介がありました。curlやsocatコマンドを使って直接APIを利用する方法も紹介されていました。
LT3: インフラ苦手なアプリ屋がコンテナ環境を使ってみた話
Taiji Hagino (@taiponrock)さん
IBMがDocker Hubで公開しているコンテナイメージを利用して、Azure Kubernetes Service (AKS)上にコンテナを簡単にデプロイする方法を紹介されていました。AKSの場合はspecでload balancerを指定するといったコツがあるそうです。
LT4: composeでマイクロサービスを開発環境でいい感じに使う
kompiroさん
プロダクション環境では、多数のアプリケーションがk8s上で動いているが、開発環境はどうやって用意するかというお悩みを抱えていらっしゃるそうです。その中で単一のノードで複数サービスを動かすツールを探しているそうで、今はDocker Composeのyamlファイルを工夫してサービスの上げ下げを管理するノウハウを共有されていました。
LT5: virtual-kubeletってなんだ? Alibaba Cloudで動かしてみよう
mosuke5 (@mosuke5)さん
最近のクラウド界隈のコンテナサービス動向として、ノードレスという、ユーザ自身でコンテナを動かすノードを管理する必要がなく実行できるコンテナサービスが出てきているそうです。
kubeletとはKubernetesクラスターのワーカーノード内でコンテナの起動などを担うコンポーネントの一つで、virtual-kubeletは、サーバレスコンテナプラットフォームと接続するのを主目的にしたkubeletだそうです。
デモではvirtual-kubeletの仮想ノードに対して、Podの配置を定義し、Alibaba CloudのElastic Container Instance上でPodが立ち上がる様子が紹介されていました。
LT6: リバースプロキシでwebサーバを集約 ついでにdocker化しよう
kuji (@uturned0)さん
Webサーバを複数台構成にするにあたり、1台のノードで複数のコンテナを動作させWebサーバを集約するノウハウをデモを交えて紹介されていました。Docker networkを使って同一ネットワークにコンテナを立ち上げ、HAProxyコンテナを用いて負荷分散させているそうです。
LT8: Container-based Application Design Reference and Practice
Kazuki Higashiguchi (@hgsgtk)さん
コンテナベースのアプリケーションを構築する際の原則や実践を紹介されていました。紹介にあったのは、Pivotal社が公開している、Beyond the Twelve-Factor App (The Twelve-Factor Appに3つの原則を加えたもの)と、Red Hat社が公開している、Principles of container-based application designです。自身のアプリケーションがガイドラインや原則を満たしているか改めて見直してみると理解が深まりそうです。
LT9: 君だけの最強 Scheduler を作ろう!
チェシャ猫 (@y_taka_23)さん
Kubernetesを活用する上で、クラスタの動的な状態を反映してデプロイしたり、ステートフルなアプリをデプロイしたり、ジョブ実行基盤として実行順序や割り込みなどを考慮に入れたりといった、用途に合わせたSchedulingが必要になってくるというお話がありました。
そこで、Schedulerをカスタマイズする方法として、
1. 起動時のポリシ設定
2. Scheduler Extenderを使う方法
3. カスタムSchedulerを作る方法
といった内容が紹介されました。
カスタムSchedulerを作るために、Scheduling Frameworkが開発されていて、プラガブルに拡張が可能になるそうです。
スポンサーセッション: DataRobot on Docker! 大規模環境で稼働中 & 仲間募集中!
DataRobot Japan 小島繁樹さん
DataRobotは機械学習プラットフォームですが、バックエンドではDockerをAIエンジンとして利用しており100CPU以上での構成での稼働実績があるのだそうです。構成はAnsibleを使って管理しているそうです。
次回のDocker Meetup Tokyoについて
次回のDocker Meetup Tokyo #29 (Docker Bday #6)は2019/3/27 (水) に開催予定とのことです。
Docker 6周年を記念し、 “How do you #Docker?”をテーマとしてセッションを募集しているそうです。
おわりに
会場となったNTTソフトウェアイノベーションセンタ田町オフィスは、オープンな技術に関わる人々が集まる場所です。勉強会やミートアップなどのイベントを開催したい方は、ぜひお声掛けいただければと思います。
また、私たちNTTはオープンソースコミュニティで共に活動する仲間を募集しています。ぜひ弊社 ソフトウェアイノベーションセンタ紹介ページや、採用情報ページをご覧ください。