Stateful Workloads on Kubernetes

Định nghĩa

Stateful Workloads on Kubernetes là cách chạy hệ thống cần identity, storage hoặc quorum ổn định trên nền pod/node vốn disposable.

Cách hiểu bằng lời của tôi

Stateless app hợp với Kubernetes hơn vì pod chết có thể thay pod mới. Database, Kafka hoặc streaming state khó hơn: node replacement, storage attach, quorum, replica placement và latency spike đều ảnh hưởng correctness hoặc availability.

Pattern từ source

  • Dùng persistent volume/PVC hoặc storage ngoài để state sống lâu hơn pod.
  • Dùng operator để encode thứ tự upgrade, replacement, failover và recovery.
  • Tách cluster theo fault domain/AZ để giảm blast radius.
  • Overprovision capacity để sống sót khi mất một zone/cluster.
  • Với database, có thể dùng replica reads hoặc stale reads cho workload chấp nhận staleness để né leader/storage latency spike.

Cần bảo vệ

  • Quorum và replication factor.
  • Metadata/logical state, không chỉ máy vật lý.
  • Thứ tự planned maintenance khi đang có unplanned failure.
  • Storage latency/tail latency.

Liên kết