Docker Meetup Tokyo #26
Docker Meetup Tokyo #26 に参加してきたのでそのメモ。
Stress Test with LOCUST on k8s(株式会社プレイド Masahiro Yamauchi(@algas)さん | Twitter)
- k8s使った事ある人 8割くらい
- 負荷テストの難しさ(ネットワークやスペックがボトルネックになる)
- LOCUST
- pythonベース
- k8sでLOCUST環境を構築(GKE)
- worker台数を自由に増減させられる
- DDoSとみなされないように
- 10000ユーザーくらいでテストした
KubeCon China参加報告(ゼットラボ株式会社 Kazuki Suda / すぱぶら(@superbrothers)さん | Twitter)
- ゼットラボ(yahoo 100%子会社)
- Harbor,Dragonfly
- KubeConの中国開催は初(アジア圏で初めて)
- 上海は綺麗、ご飯美味しい、アメリカはご飯が微妙だった
- ファーウェイクラウドでk8sのマネージドを提供,企業3番目にコントリビュートしてる
- k8s靴下販売してた
- Harbor:イメージレジストリ
- TiKV:分散トランザクション
- Dragonfly:P2Pコンテナイメージ配信(Alibaba)
- CNCFサーベイ2018では58%で本番でk8sを本番運用している
- k8s is boring(本番で心配なく運用できている)
- ブロックチェーンとかマシンラーニングとかIoTで使われはじめてる
- Harbor(会場内では使っている人はいない)
- Dragonfly(本番で使っている人はいない)
- etcdの初期の開発をしていた人がつくっている
- OSS
- Javaで書かれている(Goで書き換えるらしい)
- k8sでベアメタルを管理したりするセッションとかもあった
- k8sでk8sを管理する
https://speakerdeck.com/superbrothers/kubecon-plus-cloudnativecon-china-2018-recap
いま話題のいろいろなコンテナランタイムを比較してみた (Comparison of several container runtimes)(NTT Kohei Tokunaga(@TokunagaKohei)さん | Twitter)
- [高レイヤー]containerd,cri-o,rkt
- [低レイヤー]runc,gVisor,Nabla Containers,Kata Containers
- critoolsを使ってpodの作成から破棄までを測定
- rkt -> 最近は盛り上がりがなくなってきてる
- containerd,cri-oはパフォーマンスに差は殆ど無い
- rktはパフォーマンスがあまり良くない
- runcはLinuxの機能フル活用してセキュリティを担保している
- gVisorはGoogleが発表
- アプリはgoroutineで実行
- runnc(Nabla Container)はIBMが開発
- Kata-runtime(Kata Containers)はOpenStack Foundationのプロジェクト
- PodとしてLinuxのVMを作成して中のコンテナが起動する
- Kata ContainerはPodの起動が他のランタイムより遅い
- 一番性能が良かったのは Containerd + runnc
- 一番性能が悪かったのは rkt + coreos
Docker Swarm-mode(ZOZO inductor(▼・Å・▼)(@inductor)さん | Twitter)
- いまはSwarm Modeになってる
- swarmpit
- k8sはコミュニティが強い
- クラウドプロバイダが躍起になって対応している
- k8sの理解は難しい
- 分散基盤とかいらないレベルの小さなWebアプリの環境に入れるほどの規模じゃない
- 業務コストにみあうものは?
- Docker Swarmを使うのも一つ
- Swarmのデモ
https://speakerdeck.com/inductor/ping-cheng-falsezhong-warinizhen-rifan-rudocker-swarmfalsehua
Docker v18.09の新機能の紹介 (Docker v18.09 new features) (Akihiro Suda(@AkihiroSuda)さん | Twitter)
- 18.09のサポートは7ヶ月
- BuildKit
- Dockerfile以外の言語からもコンパイル可能(Herokuとか)
- DAG構造 -> Dockerfileで複数Fromを指定して並列実行できる
- –mountを使えば AWSのcredentialsを指定したりもできる
- export DOCKER_BUILDKIT=1 してdocker buildすれば有効になる
https://www.slideshare.net/AkihiroSuda/docker-1809
Multi-stage Docker Build(おりさの(@orisano)さん | Twitter)
- Advanced Docker image build patterns(Advanced Docker image build patterns – Speaker Deck)
- BuildしてAppに結果を渡す
- test & app もできる
- buildよりpullのほうが多い場合につかうと良い
- Multi stage buildはCIだと辛い
https://speakerdeck.com/orisano/multi-stage-builds-patterns-and-practice
LT: 中国AlibabaのManaged Containerのあれこれ (もーすけ(@mosuke5)さん | Twitter)
- Alibaba CloudでSwarmのマネージドを提供している
- masterだけ、workerだけ、serverlessモードというような提供の仕方もしている
- Logserviceでログ収集機能がある
https://www.slideshare.net/mosuke5/dockermeetup26-lt-alibaba-cloud
LT: KubeCon China 関連(cyberblack(@cyberblack28)さん | Twitter)
- Harborのコミュニティが盛り上がってる
- Rancher Labs & Huawei
- US TOYOTAでRancherを利用
- Rancherについて金融機関事例もかなり出ている
LT: Web-Frontend deploy-flow with buildkit (experimental) (Wantedly izumin(@izumin5210)さん | Twitter)
- フロントエンジニア
- TravisCI, or CircleCI(Test,Docker duild,push)
- 手元からもデプロイできるようになっている
- 全部のサービスがk8sに乗っている
- productionとQAでわかれている
- frontendはCloudFront,S3 + k8s で node.js のweb serverが動いている
- サーバーサイドとかやりたいときとかにも使う
- フロントエンドはビルド時に環境変数が呼ばれる
- yarn buildに50sかかる
- Buildkitで並列にビルドしているリポジトリが2,3ある
https://speakerdeck.com/izumin5210/deploy-web-frontend-app-with-buildkit
感想
今回初めて参加したが、会場のプレイドさんのオフィスには驚いた。
吹き抜けで無駄な物が置かれていない、海外のスタートアップのようなオフィスに、発表会場はまさかの人工芝だった。
椅子じゃないのはいささか長時間聞くのにしんどかったが、貴重な体験だった。
発表者の方々もそうそうたる人々ばかりで、内容も大変濃いものばかりだった。
特に、Dockerの新しいBuildkitの機能だったり、Multi Build Stageについては、かなり興味深かった。
Dockerの大きめのMeetupだけあって、k8sを本番導入しているところも多かったようだ。
私の会社ではまだk8sの導入の話は無いし、若干の抵抗感があるのは否めないのだが、やはり、発表でもそのような点について発表されていた方がいたように思う。
比較的大企業での導入は積極的に進んでいるが、導入敷居が高いという印象を受けた。
その点においては従来のk8sに対する印象は変わらず、導入すれば受けられる恩恵はデカイが、その分負担もデカイ。
導入するには腰を据えてやるべきで、足りない機能な内製できる地力が無いと大変そうなので、うまいことマネージドに任せられるかどうかでバランスが取れそうかなと感じた。
KubeCon Chinaの話では、Huaweiが世界で3番目にk8sへのコミットが多いという点も大変に驚いた。
中国はAlibabaCloudばかりが一強と思っていたが、そんなことはなく、日本では馴染みの無い企業の勢いがましているのだということを知った。
今回のMeetupは比較的長い時間だったが、参加できてよかった。
知らないことばかりで、大変に勉強になった。
これから小さいプロダクトでも積極的にコンテナ運用をしていき、面倒をみていくレイヤーをどんどん変えていけたらと考えているので、これからも色々知識を吸収していきたい。
<p style='padding: 5px;'>