Sobes.tech
Junior

Čo viete o Kontrolóre replikácie?

sobes.tech AI

Odpoveď od AI

Kontrolér replikácie (RC) je zastaraný zdroj v Kubernetes, ktorý zabezpečuje garantovaný počet podov s určitým šablónom v akomkoľvek momente. Spravuje životný cyklus podov, automaticky ich reštartuje pri chybách a vytvára nové pody podľa potreby na udržanie požadovaného počtu replík.

Hlavné funkcie a obmedzenia RC:

  • Udržiavanie požadovaného počtu replík: Zabezpečuje, že vždy beží zadaný počet podov.
  • Samouzdravovanie: Reštartuje alebo vytvára pody v prípade ich odstránenia, chyby alebo pádu uzla.
  • Škálovanie: Umožňuje manuálne zvýšiť alebo znížiť počet replík.
  • Aktualizácia: Neposkytuje zabudované stratégie pre "bezproblémové" aktualizácie podov (napríklad Rolling Update). Na to sú potrebné ďalšie mechanizmy alebo orchestrácia.
  • Zastaralé: Nahradené funkčnejším a flexibilnejším zdrojom — Deployment.

Deployment používa ReplicaSet (nástupcu RC s rozšírenými možnosťami selektorov) na správu podov a pridáva funkcie ako:

  • Stratégie aktualizácie (Rolling Update, Recreate).
  • Návrat k predchádzajúcej verzii.
  • Pozastavenie a pokračovanie nasadenia.

Príklad manifestu RC:

apiVersion: v1
kind: ReplicationController
metadata:
  name: myapp-rc
spec:
  replicas: 3 # Požadovaný počet podov
  selector:
    app: myapp # Selektor na nájdenie podov spravovaných RC
  template: # Šablóna na vytváranie nových podov
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp-container
        image: nginx:latest # Obraz kontajnera
        ports:
        - containerPort: 80

Hoci je zastaraný, pochopenie RC je dôležité pre pochopenie vývoja zdrojov na správu podov v Kubernetes a princípov fungovania ReplicaSet a Deployment, ktoré ho nahradili. Pre nové nasadenia sa odporúča používať Deployment namiesto Kontroléra replikácie.