Kubernetesベストプラクティスまとめ一覧
こんにちは、jackです。
Kubernetesベストプラクティスの和訳兼まとめを書いてますが、各回ごとのTL;DR、記事、原文がざっと見れるまとめページあったほうが見やすそうなのでつくりました。
まだ全七回あるので、随時更新していきます。
言うまでもないですが、TL;DRはその回の重要な部分だけ触れてますので、より詳しく知りたい方は各記事もしくは原文をどうぞ。
コンテナイメージを小さくする方法とそのメリット
TL;DR
- ベースイメージは常に小さいサイズのものを使うように心がけよ
- インタープリタ型言語はAlpineを使え
- コンパイル型言語はAlpineを使った上でmulti-step buildをしろ
- 記事:【第一弾】Kubernetesベストプラクティス:Container Images
- 原文:Kubernetes best practices: How and why to build small container images
名前空間の整理
TL;DR
- namespace(名前空間)を有効活用せよ
- namespaceを使うことで開発スピードがあがる
- デフォルトのnamespaceは3つ
- default
- kube-system
- kube-public
- kubens、kubectxを駆使せよ
ReadinessとLivenessプローブの設定
TL;DR
- 分散システムにhealth checkは欠かせないものである、Kubernetesもまた例外ではない
- Kubernetesのhealth checkの種類は2つ
- Readiness
- Liveness
-
Health checkプローブの種類は3つ
- HTTP Probes
- Command Probes
- TCP Probes
- LivenessのinitialDelaySecondsに要注意
- 記事:【第三弾】Kubernetesベストプラクティス:Health Check
- 原文:Kubernetes best practices: Setting up health checks with readiness and liveness probes
コンテナとNamespaceのリソース管理
TL;DR
- プロジェクトやチームが大きくなってきたら、リソース管理をするべし
- リソース管理には Requests と Limits がある
- Requestsは最低限割り振られるリソース(CPUやメモリ)
- Limitsは割り振られるリソースの上限
- CPUユニットは
m
(millicores) - Memoryユニットは
Mi
(mebibyte)
- 記事:【第四弾】Kubernetesベストプラクティス:Requests & Limits
- 原文:
Kubernetes best practices: Resource requests and limits
正常終了を常に心がけよ
TL;DR
- 常に正常終了処理するアプリケーションを作れ
- Kubernetesのtermination lifecycleは
-
Terminating
State - preStop Hook
- SIGTERM
- terminationGracePeriod (30秒)
- SIGKILL
-