ReplicaSets

ReplicaSets

ReplicaSet udržuje běžet N kopií podu. To je celá jeho práce.

graph LR RS[ReplicaSet replicas=3] --> P1[Pod] RS --> P2[Pod] RS --> P3[Pod] P2 -.uzel spadne.-> X((pryč)) RS -->|reconcile| P4[nový Pod]

Smyčka se nikdy nezastaví: spočítej pody odpovídající selektoru, porovnej se spec.replicas, rozdíl dotvoř nebo smaž. Samoléčení a škálování je tentýž mechanismus.

spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web        # musí odpovídat selektoru

Pody váže selektor, ne jméno: volný pod s odpovídajícím labelem bude adoptován a započítán.

ReplicaSet neumí rollout – změna šablony s běžícími pody nic neudělá. Přesně tenhle chybějící kus doplňuje Deployment, a proto ReplicaSety nepíšete ručně. Čtete je, když se rollout zasekne.

Reference