KubeCon + CloudNativeCon Europe 2018 Day2 レポート

Posted by

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

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

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

KubeCon + CloudNativeCon Europe 2018 Day2

引き続きKeynote、Sessionと要点をかいつまんでいきます!

Keynote

Kubernetes Project Update

ここ最近あったKuernetesのアップデートとGoogle製のツールやサービスについての紹介でした。

セキュリティの分野では

  • NetworkPolicyの追加
  • Secretsの暗号化
  •  RBAC対応
  •  TLS証明書のローテーション
  • PodSecurityPolicyの追加

Threat DetectionとしてGCPのCloud Security Command Centerというサービスが出たり、Sandboxed Containersのランタイム「gVisor」が公開されたり。特に今回このgVisorというのがコミュニティ的にはHotだったようです。(後ほどセッションで詳細あります)

アプリケーションの分野では

  • CronJobコントローラ
  • GPUの対応
  • Statefulなアプリケーションの対応(StatefulSet)

また、Stackdriver Kubernetes MonitoringというStackdriver MonitoringのKubernetes版が出たようです。

Accelerating Kubernetes Native Applications

Operatorについての紹介をしていました。現在Operatorはそこそこ数があります。
  • etcd
  • prometheus
  • vault
  • memcached

など、他にも多数公開されています。また、このOperatorを実装するためのフレームワークも公開されています。

Operator Framework · GitHub

Switching Horses Midstream: The Challenges of Migrating 150+ Microservices to Kubernetes

Financial Timesでは150以上のマイクロサービスを運用しているそうです。これをどのようにしてKubernetesに移行したかというお話でした。

以降の一番初めは2015年のMid(5~8月ですかね?)からコンテナ化を始めていたそうです。また、EC2に移設することで最大80%のコスト削減ができたそうです。

その他いろいろ話していたのですが、中々聞き取れず・・・無念😭

ぜひスライドや動画を確認してみてください・・・!

Session

Applying Least Privileges through Kubernetes Admission Controllers

このセッションではコンテナやKubernetesにおいてのセキュリティのリスクについての説明、またTeslaでのクラッキング事例を紹介していました。

Kubernetesのドキュメントではセキュアなクラスタにするための情報がまとまっているページがあります。

Securing a Cluster

こちらのページの項目について解説を行っているようでした。また、タイトルにもあるAdmission ControllerのタイプについてとKubernetes 1.10で推奨されているAdmission Controllerについて解説していました。

そしてAqua Securityが出しているツールについても紹介していました。

Writing Kube Controllers for Everyone

KubernetesのControllerの実装方法を解説するセッションでした。入門者は以下のリポジトリを参考にするといいそうです。

GitHub – kubernetes/sample-controller: Repository for sample controller. Complements sample-apiserver
GitHub – kubernetes-sigs/kubebuilder: Kubebuilder

また、

  • Queue
  • Shared informers
  • Event handler
  • Listers
  • SyncHandler

をうまく使うと良いそうです。

自分自身がまた全くControllerの実装をしたことがないので理解が浅かった感じです・・・。是非ともこのセッションの資料・動画をみて実装してみたいと思います。

Best Practice for Container Security at Scale

このセッションではコンテナ化されるまでの経緯の解説とコンテナのセキュリティを上げるためのアプローチを示していました。

そしてサンドボックス化されたコンテナを作成するため、Googleが作ったツールがgVisorです。

GitHub – google/gvisor: Container Runtime Sandbox

gVisorはカーネルとアプリケーションの間の層として動作し、アプリケーションのシステムコールをトラップできます。

このgVisorは起動時間も短く、使用メモリも多くはないことを示していました。

このgVisorはKubeConの中でも中々Hotな話題だったので後日しっかり調査していきたいと思います!

Exploring Container Mechanisms Through the Story of a Syscall

このセッションではコンテナ上にあるアプリケーションがSystemCallをコールした場合に、どういう順番でカーネルでの処理が実行されるかを解説していました。

解説していたシナリオは「ファイルを書き込み専用で開く」という内容でした。カーネルの処理の手順としては

  1. seccomp
  2. File Lookup
  3. Permission & Caps
  4. SELinux
  5. Overlay Filesystem

で実行されるそうです。

この各手順についてセッションで詳しく解説してくださってたので動画見るのをおすすめしますw!

最後に

2日目ですが、個人的にはgVisorとAqua Securityのツールが非常に興味ある感じです。セキュリティ系の話に寄った感じですね。gVisor、kube-bench、microscannerは近いうちに動かして見たいと思います!

それではDay3の記事もお楽しみに!