- Cloud Native Meetup Tokyo #6 KubeCon + CNCon Recapに参加してきました。
- あまり詳しい領域ではないですが情報キャッチアップのために参加しました。
- みなさん説明が論理だっていてわかりやすく雰囲気をつかむことができました。資料公開されているものは改めて確認したいと思います。
タイトル | 発表者 |
---|---|
Cortexの話をKubeConで聞きたかったっていう話 | Shinya Uemura(@uesyn) |
KubeCon + CNConに見るetcdの未来 | Akihiro Ikezoe(@zoetro) |
Monitoring Kubernetes Audit Log by Falco | Makoto Hasegawa(@makocchi) |
KubeCon + CloudNativeCon 2018 Seattle Recap ~Vitess~ | Yutaka Ichikawa(@cyberblack28) |
KubeCon + CNConでみたPrometheusの今後 | Yoshi Shota(@yosshi_) |
Cortexの話をKubeConで聞きたかったっていう話
- Shinya Uemura(@uesyn)
- KDDI & Creationline
KubeCon
- Cortexのセッション一つ
Prometheus
- メトリクス収集してローカルストレージに保存する
- Long-term Storageではない
- レプリケーションない
Cortex
- Prometheusメトリクスのストレージ
- マルチテナント型のモニタリングサービスを実現する
アーキテクチャ
- 長期データS3やGCSに保存
- chunkデータはDynamoDBやCassandraに保存
マルチテナント
- リクエストヘッダ内のIDでテナント判断
- テナントIDをもとにprometheusがふりわけ
- 認証認可の機能はないのでIDを付与して送る実装を自前でする必要がある
kubernetes上で動かす
- 「人類にははやすぎる」
- まだリポジトリにreleaseブランチないしtagもついてない
- 公式の入門ドキュメントまだない
- フロント自前実装しないとマルチテナント使えない
- nginxでやると楽だった
まとめ
- cortex情報まだ少なめ
KubeCon + CNConに見るetcdの未来
- Akihiro Ikezoe(@zoetro)
- Cybozu
KubeCon
- KubeConでetcd関連のセッション5つ
etcd
- 分散キーバリューストア
- HighAvailable
- 強い整合性
- Raftによる分散合意
- k8sやVitessやCoreDNSなど多くの分散システムのバックエンドで使われてる
etcdの未来
- CoreOS(Redhatに買収された)が作ってる
- Container Linux
- Fedora CoreOSが後継
- 2020年いっぱいはメンテされる
- rkt
- Redhatとしては開発ストップ
- etcdは?
- CNCFのプロジェクトに採用
- RedhatからCNCFに寄贈
- CoreOSの外のメンテナ多いので体制に変化はなさそう
etcdの新機能
- Raft Learner
- etcd operator
- Server Downgrade
- Cluster init
Raft Learner
- etcdはRaftという分散合意アルゴリズムを使ってる
- クラスタからリーダーを選出
- リーダーがメンバーにハートビート
- リーダーは常に一つ
- 問題点
- データ同期中はI/O負荷高い
- ハートビートがタイムアウトしやすくなる
- 同期中にネットワーク分断すると障害起きてしまう
- データ同期中はI/O負荷高い
- Raft Learner
- 同期中はLearnerという状態になる
- その間は分散合意のメンバーとしてカウントされない
Cluster init
- etcdの起動オプションいろいろ設定めんどくさい
- 自動的にメンバーごとの名前やリッスンするアドレスなどを解決
etcdadm
トラブルシューティング
- etcdctl
- auger
- etcd-dump-logs
まとめ
- etcdはk8sをはじめいろいろなところで使われている
- CNCFに加わりメンテは安心して良さそう
- 今後は運用者向けに嬉しい機能が出てきそう
Monitoring Kubernetes Audit Log by Falco
- Makoto Hasegawa(@makocchi)
- CyberAgent
概要
- Falco Deep Diveのセッション内容の紹介
Falcoとは
- Container Native Runtime Security
- コンテナ環境のセキュリティをモニタリング
- CNCFのsandboxプロジェクト
- モニタリングするだけ遮断とかはしない
- 検出された時には手遅れだけど検出できる仕組みをつくることは重要
モニタリング
- DKMS(Dynamic Kernel Module Support)によってmoduleがbuild/installされる
- Ruleをyamlで書くことでモニタリングするイベントを定義
通知
- 検知時にプログラム実行できる
- webhookすればslack通知なんかもできる
- Falco.yamlに設定
k8sのaudit logをモニタリング
k8sにfalcoを入れる
- docker runでも動く
- Helmのchartがあるのでそれが楽
- falco operatorもある
KubeCon + CloudNativeCon 2018 Seattle Recap ~Vitess~
- Yutaka Ichikawa(@cyberblack28)
- APC
セッションサマリ
- KubeCon
- Vitess関連は3つくらい
- 移行事例のセッションも
- Intro
- Deep Dive
Vitess
- MySQLのshardingで水平にスケールするクラウドネイティブなDBクラスタ
- goで出きててgRPCで通信
- 事例
- youtube
- slack
- Sharding
- 2つ以上のDBに分割してデータを格納
- パフォーマンス向上
- 垂直
- テーブルごとに複数DBに格納
- 水平
- 1つのデーブルを複数Shardに分割して格納
HubSpotの事例
まとめ
- youtubeの実績は強い
- プロダクション事例増えつつある
- デファクトになりそう!?
- k8sとの親和性の高さ
- システムに合わせてチューニングは必要
- Vitess as a Serviceなるものが生まれてきそう!?
KubeCon + CNConでみたPrometheusの今後
- Yoshi Shota(@yosshi_)
- NTT Communications
Prometheusの課題
- 長期保管機能ない
- 保管期間のばすと性能劣化
- -> アダプターを使ってサードパーティストレージに保存
- デフォルトで冗長構成がない
長期保管
- Thanos
- Cortex
- M3
Thanos
- 複数のPrometheusを横断して収集したい
- 無制限に保管したい
Grafana Loki
- ログの収集と可視化ツール
- メトリクスだけではインシデントの全容の半分しかわからない
- メトリクスとログの参照切り替えコストを最小限に抑える
- まだAlpha版なのでproductionでは使っちゃだめ