Sobes.tech
Junior

Aký je rozdiel medzi Pod a Deployment v Kubernetes?

sobes.tech AI

Odpoveď od AI

Pod — najmenšia nasaditeľná jednotka v Kubernetes, ktorá predstavuje skupinu z jedného alebo viacerých kontajnerov zdieľajúcich úložisko a sieťové zdroje, ako aj špecifikáciu spustenia kontajnerov. Deployment — kontrolér v Kubernetes, ktorý poskytuje deklaratívne aktualizácie Pods. Opisuje požadovaný stav aplikácie a zabezpečuje automatické nasadenie, aktualizácie a rollback verzií Pods, riadiaci životný cyklus replík Pods.

Kľúčové rozdiely:

  • Jednotka: Pod — základná jednotka plánovania a nasadenia; Deployment — kontrolér vyššej úrovne na správu Pods.
  • Životný cyklus: Pods nemajú zabudované mechanizmy na samoregeneráciu (okrem reštartu kontajnerov pri zlyhaní); Deployment automaticky nahrádza zlyhávajúce Pods a riadi ich škálovanie.
  • Škálovanie: Priame škálovanie Pods nie je efektívne; Deployment umožňuje ľahké škálovanie počtu replík Pods.
  • Aktualizácie/rollback: Pods nepodporujú verzovanie a nasadzovanie/rollback aktualizácií; Deployment ponúka stratégie pre plynulé aktualizácie a rýchly rollback.

Príklad manifestu Pods:

apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
spec:
  containers:
  - name: my-app-container
    image: nginx:latest
    ports:
    - containerPort: 80

Príklad manifestu Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 3 # Požadovaný počet replík
  selector:
    matchLabels:
      app: my-app # Selektor pre výber Pods, ktorými riadi tento Deployment
  template:
    metadata:
      labels:
        app: my-app # Štítok pre Pods
    spec:
      containers:
      - name: my-app-container
        image: nginx:latest
        ports:
        - containerPort: 80

Porovnanie:

Charakteristika Pod Deployment
Úroveň Nízka, základná jednotka Vysoká, kontrolér
Správa Priama, bez automatizácie Deklaratívna, automatizovaná
Škálovanie Ručné, neodporúča sa Automatizované, podľa replík
Aktualizácie Chýbajú Deklaratívne, stratégie
Vrátenie Chýba Podporované
Samoregenerácia Obmedzená (reštart kontajnera) Automatická výmena Pods

Vo väčšine prípadov pri nasadzovaní aplikácií v Kubernetes sa používajú Deploymenty na správu Pods, zabezpečujúc spoľahlivosť, škálovateľnosť a automatizáciu.