Sobes.tech
Junior

V čem spočívá rozdíl mezi podem a kontejnerem?

sobes.tech AI

Odpověď od AI

Kontejner je izolovaný proces nebo skupina procesů, která obsahuje závislosti, knihovny a konfigurační soubory potřebné pro spuštění aplikace.

(V) v Kubernetes je nejmenší nasaditelná jednotka. Je to abstrakce nad jedním nebo více kontejnery, které běží na jednom uzlu a sdílejí společný síťový prostor a úložné zdroje. Kontejnery uvnitř jednoho podu jsou vždy umístěny spolu, plánovány společně a sdílejí prostředí běhu.

Hlavní rozdíly:

  • Úroveň abstrakce: Kontejner je izolované prostředí pro jednu aplikaci nebo proces. Pod je skupina jednoho nebo více kontejnerů, které fungují jako celek.
  • Nasazení: Kontejnery jsou nasazovány uvnitř podů v Kubernetes. Nelze přímo nasadit samostatný kontejner v Kubernetes.
  • Síťové prostředí: Kontejnery uvnitř jednoho podu používají stejný síťový prostor (IP a porty). Kontejnery v různých podech mají odlišné síťové prostory.
  • Uložení: Kontejnery uvnitř jednoho podu mohou sdílet volume pro ukládání dat.
  • Životní cyklus: Pody řídí životní cyklus svých kontejnerů. Pokud jeden kontejner v podu skončí, pod jej může restartovat nebo ukončit sám podle politiky restartu.
# Příklad podu s jedním kontejnerem
apiVersion: v1
kind: Pod
metadata:
  name: my-single-container-pod
spec:
  containers:
  - name: my-app-container
    image: nginx:latest
    ports:
    - containerPort: 80
# Příklad podu se dvěma kontejnery
apiVersion: v1
kind: Pod
metadata:
  name: my-multi-container-pod
spec:
  containers:
  - name: main-app-container
    image: my-app:latest
    ports:
    - containerPort: 8080
  - name: sidecar-logger-container
    image: fluentd:latest
    volumeMounts:
    - name: app-logs
      mountPath: /var/log/app
  volumes:
  - name: app-logs
    emptyDir: {} # Příklad společného volume
Charakteristika Kontejner Pod
Úroveň abstrakce Izolované prostředí pro proces nebo aplikaci Skupina jednoho nebo více kontejnerů
Nasazení Uvnitř podu Nezávislá nasaditelná jednotka v Kubernetes
Síťové prostředí Vlastní (docker) nebo společné s podem (k8s) Společné pro všechny kontejnery v podu
Uložení Vlastní nebo společné s podem přes volume Společné s kontejnery přes volume
Řízení Řízeno prostředím běhu nebo podem Řízeno Kubernetes Control Plane
Škálování Škáluje na úrovni podů Škáluje na úrovni podů