Builderscon 2018 Day1
Sustainable Kubernetes Freee¶
Kubernetesはじめた2年前に知っておきたかったことをまとめた
1Baseline Kubernetes
2High Security
3High Usability
4Build it
Baseline
High Availability HighScalability
EKSとかGKEつかってたら気にしなくていんじゃね?
High Availability
クラスタ、ノード、ポット、コンテナ、プロセス、どれがどれだけ落ちていいか
2クラスタ/リージョン
2ノード/ノードプール
1ノードプール/DC
1ノード/マシン
2+Pods/アプリケーション
Docker Registry(DockerHubのメンテ)
Replicas:2でいいのか?
Rolling Update Deploymentだとアップデート中に1台減る
MaxUnavailableで落ちていい数を設定できる
maxSurgeで上限越えてPodをおける
High Scalability
Horizontal Pod Autoscaler リソース使用量でPodを増減
Cluster Autoscaler リソース使用量でプールサイズを増減
Pod Priority and Preemption 低優先度Podを消す、高優先度Podを置く
Basic Security
Role-Based Access Control
Namespace per Team
Network Policy(L4 Network Security)
Cluster/Node Pool/Network per Critical Application
アプリケーションの脆弱性:コンテナイメージスキャン
バックドアを仕込む:Intrusion Detection
ホストやK8S APIへのアクセス
データの破壊、盗難:L7 Security Policy
Kubernetesがプロダクションレディになって3年
ベストプラクティスも定まってきた
Knative?Istio?Weave Flux?
→自動化するとアプリケーションにフォーカス