1.6. fejezet, StatefulSet

Például adatbázisok és állapottartó alkalmazások futtatásához alkalmazható, Deployment (stateless alkalmazások) helyett StatefulSet.

  • Pod replica-k nem egyenlőek (pl.: mysql master/slave - egy írhat/olvashat, a többi csak olvashat), míg a stateless pod replica-k egyenlőek (pl.: java db kliens).
  • Minden stateful pod megörzi az azonosítóját (${statefulset-name}-{order}), és újraindításkor azt kapja meg (pl.: mysql-0, mysql-1, mysql-2). Mindegyik pod külön storage-ot kap, amit folyamatosan szinkronizál a szolgáltatás.
  • Mindegyik tárolt adat elvész, ha a pod-ot töröljük, ezért külön persistent volume (remote) csatolása indokolt minden pod replica-hoz.
  • Replica létrehozása mindig megvárja az első/előző indítását (master után a n-dik slave), törlésekor pedig legyen a szabály az, hogy mindig az utolsó replica-t töröljük.
  • Minden podhoz/replica-hoz egy-egy szerviz tartozik (${statefulset-name}-${order}-${service name}), és ha megváltozik az IP címe, akkor is DNS nevét megtartja.