CloudNative Days Tokyo 2019 感想 #CNDT2019
CloudNative Days Tokyo 2019 というクラウドネイティブコンピューティング系の技術と OpenStack系の技術のカンファレンスに行きました。
印象に残ったセッションをいくつか書きます。
Kubernetesを拡張して日々のオペレーションを自動化する
Kubernetesを拡張して日々のオペレーションを自動化する https://t.co/NzCR6JM7rh 資料を公開しました :) #CNDT2019 #OSDT2019 #RoomB
— ladicle (@Ladicle) July 22, 2019
カスタムコントローラの作り方の話。
最近カスタムコントローラを作ることが増えてきたので。
入門っぽいところから始まって、具体的な開発上の知見まで教えてくれるセッション。 あとスライドがすごいおしゃれだった。
個人的メモ
- Conditions フィールドは配列で作ったほうがいい
- CRD のフィールドは主に以下の二種類がある:
- ズレ検出のためのフィールド
- ズレを修正するためのアクションのオプション。こちらのフィールドは struct にまとめておくと後から変更しやすい
- OwnerReference は親しか引けないので、孫引きをするなら孫引き用のフィールドを用意しとくと計算時間の削減になる
- 公式リソースに対する Finalizer は validation がかかっている。
{{ APIGroup }}/{{ Name }}
という形式にする必要がある - キャッシュは manager 単位なので、同じリソースをみる controller は同じ manager にまとめると効率的
- 後方互換性をサポートするためにこれからは Conversion Webhook が使える
Kubernetes拡張を利用した自作Autoscalerで実現するストレスフリーな運用の世界
本日発表した弊社山本による登壇資料です!
— CyberAgent アドテクスタジオ広報担当 (@ca_adtechstudio) July 22, 2019
ぜひご覧ください😀
「Kubernetes拡張を利用した自作Autoscalerで実現するストレスフリーな運用の世界」#CNDT2019 #OSDT2019 #Kuberneteshttps://t.co/ziOmyXznGl
カスタムコントローラで Bigtable の autoscaler を作った事例。
カスタムコントローラって運用者を置き換える仕組みとして紹介されることが多いけど、 異常検知とか時系列データをもとになにかアクションを起こすような仕組みとの相性がめちゃ良さそうだなとか思った。
そういえば数理的な手法で解を見つけるような仕組みの含まれたカスタムコントローラってまだ無いイメージがある。 Poseidon っていうスケジューラが数理最適化を使うらしい。
Cloud Native Storageが拓くDatabase on Kubernetesの世界
本日の1B3、「Cloud Native Storageが開くDatabase on Kubernetesの未来」の登壇資料です。 #cndt2019 #RoomBhttps://t.co/ygm96pLK1j
— こば(右) (@tzkb) July 22, 2019
k8s以前からあるDBクラスタリング基礎知識の講義から始まり、 いまあるクラウドネイティブなストレージソフトウェアがどのようなパターンを採用しているのかということを説明してくれるセッション。 個人的には一日目の中で一番勉強になった。
ちなみに発表内で紹介されていた kube-fencing の実装が bash だった。k8s 関連の OSS たまに bash で書いてあるからびびる。 github.com
実録!CloudNativeを目指した230日
これから話す「実録!CloudNativeを目指した230日」の資料です🍻 https://t.co/Q6zAz9UIv2 #CNDT2019 #RoomB
— 一輪挿し (@r_takaishi) July 23, 2019
OpenStackベースのプライベートクラウドを使っている会社でk8sを導入していっている話。 ingress-nginx のラウンドロビンがリセットされて一瞬同じPodに負荷が集中するバグの話などがされていた。 オブザーバビリティは重要。
ZOZOTOWNのCloud Native Journey 〜トール・マカベッチのアンサーソング付き〜
本日の登壇資料です / ZOZOTOWNのCloud Native Journey https://t.co/pj2yPP7v9J #CNDT2019
— 岡 大勝 (@okahiromasa) July 23, 2019
ZOZOTOWN のアーキテクチャ刷新の話。 まずはAPI Gatewayを立てましょうなど具体的なアプローチにも触れられていた。 クラウドネイティブ環境への移行は自分の働いている会社でも非常にホットな話題なので観に行った。
この資料が良いらしい。 docs.microsoft.com
あとこの本がいいらしい。 shop.oreilly.com
How cgroup-v2 and PSI impacts CloudNative?
圧を感じたところで自分の資料をえいやと事前公開。 #CNDT2019 #OSDT2019 #RoomF です、 17:40 ~https://t.co/smY8nqg269
— Uchio KONDO 🔫 (@udzura) July 23, 2019
croupの入門的な解説から始まり、cgroup v2 での変更と PSI(Pressure Stall Information) というカーネル機能の解説。 どういう controller が cgroup にあるのかなども教えてくれる内容になっていて、このあたり不勉強の自分にはとても勉強になった。 cgroup v2 と PSI を使うとコンテナごとの負荷状況が取りやすくなるとのこと。
ちなみに node_exporter にも PSI を使う collector が生えてた。 github.com
全体的な感想
カスタムコントローラの話とクラウドネイティブに移行する話が多かった印象。 来年のCNDTではオブザーバビリティやEnvoyを使った事例の話が増えていたりするんだろうか? せっかく自分もk8s中心の基盤チームで働いているんだし、今後なにか発表してみたい。
k8s と k8s の外側(IaaSのマネージドサービスやOpenStack)を繋ぐ部分をカスタムコントローラで作るのは普遍的なアイデアっぽい。 個人的にはカスタムコントローラってどんどん作ってみたいけど、カスタムコントローラで作ることがきちんと意味をなす題材ってあんまり落ちてないな~とかよくおもっていた。なんかいいアイデア思いつきたい。
心残り
無事優秀なワーカーノードになれた私です。マニアックすぎるか?ほんとうにおもしろいか?など悩みながら準備しましたが、ウケてたようでうれしい。 #CNDT2019 / “転職したら Kubernetes だった件 / That Time I Changed Jobs as a Kubernetes. - Speaker Deck” (205 users) https://t.co/xFSs1rO50Q
— ina_ani (@ina_ani) July 23, 2019
このセッション実際に観たかった~