こんにちは!グリフォンで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
- etcd
- prometheus
- vault
- memcached
など、他にも多数公開されています。また、このOperatorを実装するためのフレームワークも公開されています。
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のドキュメントではセキュアなクラスタにするための情報がまとまっているページがあります。
こちらのページの項目について解説を行っているようでした。また、タイトルにもあるAdmission ControllerのタイプについてとKubernetes 1.10で推奨されているAdmission Controllerについて解説していました。
そしてAqua Securityが出しているツールについても紹介していました。
- KubeBench
- Kubesec.io
- KubeHunter
- MicroScanner
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をコールした場合に、どういう順番でカーネルでの処理が実行されるかを解説していました。
解説していたシナリオは「ファイルを書き込み専用で開く」という内容でした。カーネルの処理の手順としては
- seccomp
- File Lookup
- Permission & Caps
- SELinux
- Overlay Filesystem
で実行されるそうです。
この各手順についてセッションで詳しく解説してくださってたので動画見るのをおすすめしますw!
最後に
2日目ですが、個人的にはgVisorとAqua Securityのツールが非常に興味ある感じです。セキュリティ系の話に寄った感じですね。gVisor、kube-bench、microscannerは近いうちに動かして見たいと思います!
それではDay3の記事もお楽しみに!