【随时更新】Kubernetes最佳实践汇总
Kubernetes最佳实践总结列表
你好,我是Jack。
Kubernetesベストプラクティスの和訳兼まとめを書いてますが、各回ごとのTL;DR、記事、原文がざっと見れるまとめページあったほうが見やすそうなのでつくりました。
まだ全七回あるので、随時更新していきます。
言うまでもないですが、TL;DRはその回の重要な部分だけ触れてますので、より詳しく知りたい方は各記事もしくは原文をどうぞ。
如何压缩容器镜像以及其优势
太长不看
-
- ベースイメージは常に小さいサイズのものを使うように心がけよ
-
- インタープリタ型言語はAlpineを使え
- コンパイル型言語はAlpineを使った上でmulti-step buildをしろ
-
- 記事:【第一弾】Kubernetesベストプラクティス:Container Images
原文:Kubernetes best practices: How and why to build small container images
整理命名空间
太长时间未读
namespace(名前空間)を有効活用せよ
namespaceを使うことで開発スピードがあがる
デフォルトのnamespaceは3つ
default
kube-system
kube-public
kubens、kubectxを駆使せよ
-
- 記事:【第二弾】Kubernetesベストプラクティス:namespace
原文:Kubernetes best practices: Organizing with Namespaces
准备和活动探针的设置
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のリソース管理
总结一下
-
- プロジェクトやチームが大きくなってきたら、リソース管理をするべし
リソース管理には Requests と Limits がある
Requestsは最低限割り振られるリソース(CPUやメモリ)
Limitsは割り振られるリソースの上限
CPUユニットは m (millicores)
Memoryユニットは Mi (mebibyte)
-
- 記事:【第四弾】Kubernetesベストプラクティス:Requests & Limits
原文:
Kubernetes best practices: Resource requests and limits
始終将正常结束作为常态。
太长不看
-
- 常に正常終了処理するアプリケーションを作れ
-
- Kubernetesのtermination lifecycleは
Terminating State
preStop Hook
SIGTERM
terminationGracePeriod (30秒)
SIGKILL
-
- 記事:【第五弾】Kubernetesベストプラクティス:Graceful Shutdown
原文:Kubernetes best practices: terminating with grace
WIP
TL;DR
-
- 記事:
- 原文:Kubernetes best practices: mapping external services
工事进行中
总结
-
- 記事:
- 原文:Kubernetes best practices: upgrading your clusters with zero downtime