StatefulSet
安定した識別性を必要とするアプリケーション向けの Kubernetes オブジェクト。各 Pod が序数(mysql-0、mysql-1)、専用の永続ボリューム、再起動後も変わらない DNS 名を持つ。データベース、キュー、etcd クラスタ向けである。
Pod を交換可能なものとして扱う Deployment とは対照的だ。Pod 名は $(statefulset-name)-$(ordinal) と予測可能になる。Headless Service が Pod ごとの DNS を提供し、PVC テンプレートが Pod ごとに別のボリュームを作る。起動と停止は順序付きで、0番が最初に起動し N-1 番が最後になる。スケールダウン時は N-1 から外れる。RollingUpdate は逆順で更新する。Postgres-Operator や Strimzi のような Operator は、StatefulSet の上に独自のロジックを重ねて作られている。