【随時更新】Kubernetesベストプラクティスまとめ一覧


Kubernetesベストプラクティスまとめ一覧

こんにちは、jackです。

Kubernetesベストプラクティスの和訳兼まとめを書いてますが、各回ごとのTL;DR、記事、原文がざっと見れるまとめページあったほうが見やすそうなのでつくりました。
まだ全七回あるので、随時更新していきます。

言うまでもないですが、TL;DRはその回の重要な部分だけ触れてますので、より詳しく知りたい方は各記事もしくは原文をどうぞ。

コンテナイメージを小さくする方法とそのメリット

TL;DR

  • ベースイメージは常に小さいサイズのものを使うように心がけよ
  • インタープリタ型言語はAlpineを使え
  • コンパイル型言語はAlpineを使った上でmulti-step buildをしろ

名前空間の整理

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に要注意

コンテナとNamespaceのリソース管理

TL;DR

  • プロジェクトやチームが大きくなってきたら、リソース管理をするべし
  • リソース管理には RequestsLimits がある
    • Requestsは最低限割り振られるリソース(CPUやメモリ)
    • Limitsは割り振られるリソースの上限
  • CPUユニットは m (millicores)
  • Memoryユニットは Mi (mebibyte)

正常終了を常に心がけよ

TL;DR

  • 常に正常終了処理するアプリケーションを作れ
  • Kubernetesのtermination lifecycle
    • Terminating State
    • preStop Hook
    • SIGTERM
    • terminationGracePeriod (30秒)
    • SIGKILL

WIP

TL;DR


WIP

TL;DR