KubeCon + CloudNativeCon Europe 2018 Day3 レポート

Posted by

こんにちは!グリフォンでSREをやってる徳田です。

KubeCon + CloudNativeCon Europe 2018が5月2日から4日まで開催されていました!

その最終日の3日目のレポートをお伝えできればと思います。

KubeCon + CloudNativeCon Europe 2018 Day3

Keynote

Keynoteは専門外の話が半分と全てデモで通した話が1つと面白そうな(そして全然聞き取れなかった)話が1つ、という感じでほとんど頭に入ってないので簡単に。

(諸事情によりKeynote前半ほとんど聞けませんでした😭)

Day3のKeynoteは4つあったのですが、その内MLに関するものが2つでした。そのうち一つはkubeflowの0.1がリリースされた、という話をしていました。

あと、最後の「Crossing the River by Feeling the Stones」というKeynoteは会場が常時笑いに包まれるほど盛り上がっていました。が、自分は全く聞き取りず・・・😇
後日英語の勉強ついでに動画で見ようかと思います!

Session

Secure Pods

セキュアなPodってなんだっけ?というところを起点に、攻撃の手段を考えてそれらの対策やこれからやるべきことについて解説をしたセッションでした。

外部の脅威から守るためには

  • アプリケーションによるセキュリティ
  • ファイアウォール
  • 整合性チェック
  • 侵入検知

などを行うことで防ぐことができますが、内部からの脅威にはどうやって対処すればいいでしょうか? というところで以下の観点からそれぞれの対策を述べていました。

  • Kernel
  • Storage
  • Network
  • Daemons
    • Logging
    • monitoring
  • Hardware

Kernelの項目での対策で先日Googleが公開したgVisorについても触れていました。

What Does “Production Ready” Really Mean for a Kubernetes Cluster?

プロダクションレディなクラスタってなんだろうか、というお話でした。

プロダクションレディなクラスタとは、

  • 合理的にセキュア
  • クラスタのコンポーネントがユーザのニーズを十分に満たしている
  • すべての要素が宣言的に制御されている
  • アップグレード・ロールバックが安全にできる
  • できるだけ多くのE2Eテストができる

というふうに述べていました。これらの項目を達成するためのやることなどを解説していました。

ガッツリ技術よりの話かと思っていたのですが、ビジネス半分・技術半分みたいな割合の話でした。そして、技術的な話の殆どがCKAのカリキュラムとかぶっていました。そういう資格なので当たり前なのですがw

一番驚いたのがこのセッションの登壇者が18歳の上にAmbassadorもやってるし、kubeadmのメンテナもやっているという超人でした。海外の学生はすごいですね・・・😅

Container Storage Interface: Present and Future

CSIが最近オープンな形で公開され、Kubernetesでも1.10でBetaとして利用できるようになりました。

このセッションでは、

  • CSIの必要性
  • 歴史
  • 技術選定の経緯
  • 内部のアーキテクチャ
  • 実装方法
  • コンテナオーケストレーションツールとのインテグレーション
  • コミュニティのガバメント

について解説していました。

技術選定の経緯では、CNIはCLIを経由して操作をするがCSIではサービス(デーモン)として動作させる、APIは同期的に処理させるなど、理由も解説してくださったので非常に分かりやすく、納得できました。

また、実装するサービスについてやボリュームのライフサイクルについても丁寧に解説されていたので非常に分かりやすかったです。各CSIの実装例なども出してくださったので理解を深めることができました。

KubernetesのCSIのOrgはこちら

kubernetes-csi · GitHub

こちらにサンプルのドライバがあります。

GitHub – kubernetes-csi/drivers: Example CSI Drivers

Accelerating Envoy with the Linux Kernel

このセッションでは最初はBPFの素晴らしさについて語っていましたw

  • L3/L4 LBとしてIPVSの3倍の性能がだせる
  • DDoS mitigation時にiptablesよりも性能が良い
  • トレース機能(リモートも可)

などなど、要はiptablesの上位互換かつ様々な機能を持っています。また、Kernel 開発者たちはiptablesからBPFへの置き換えを進めているようです。

と、ここでこのBPFをEnvoyに適用してみてはどうだ?ということで出てくるのがCiliumというツールです。

GitHub – cilium/cilium: HTTP, gRPC, and Kafka Aware Security and Networking for Containers with BPF and XDP

このCiliumを使うとiptablesの2~4倍のパフォーマンスが出るそうです。

また、IstioなどにあるMutual TLSや外部サービスAPIのTLSをkTLSというカーネルの機能を利用することで、TLSの暗号化・復号化処理をカーネルに任せることができるそうです。

個人的見解ですが、CiliumのドキュメントページにIstio用のGetting Startedがあったりして意識している感じが見えるなーというところから、Istio + Ciliumという組み合わせがあるのかな、と考えています。(てか、なぜこのセッションではEnvoyを出したのか。Istioだと出てくる話が多くなるからかな?)
また、こちらは疑問ですが、IstioのmTLSはCiliumでやってるkTLSに処理を委譲させることができるのかな?なども思っているところです。

とにかく、このプロジェクトは注目ですね!

最後に

Day3で良かったのはCSIとCiliumですかね。この2つはできれば追いかけたいなと思っています!

そして、KubeCon + CloudNativeCon Europe 2018のKeynote & Sessionのレポート記事はこれで最後ですが、後もう一つ会場の雰囲気やブースについての記事を書こうと思っています。その記事で今回のKubeConの簡単なまとめも書こうと考えておりますので是非そちらも見ていただければと思います!

それでは、一旦KubeCon + CloudNativeConお疲れ様でした!!

(CyberAgentが何処かにいます。めっちゃ小さいですが探してみてくださいw!)