Junior
Čo by malo byť vo vnútri Podu v Kubernetes?
sobes.tech AI
Odpoveď od AI
V Kubernetes pod by mali byť:
- Jeden alebo viac súvisiacich kontajnerov, ktoré fungujú ako jedna jednotka a zdieľajú zdroje.
- Spoločné úložiská dát (Volumes) pre kontajnery v pod.
- Spoločná sieťová zásuvka pre všetky kontajnery (podľa špecifikácie IP).
- Špecifikácia podu (objekt PodSpec), ktorá opisuje, ako majú kontajnery fungovať, vrátane:
- Obrazov kontajnerov.
- Potrebných zdrojov (CPU, pamäť).
- Otvorených portov.
- Premenných prostredia.
- Kontrolných sond (liveness a readiness probes).
- Politík reštartu.
Typické použitie:
- Jeden hlavný kontajner aplikácie.
- Jeden alebo viac "sidecar" kontajnerov, ktoré vykonávajú pomocné úlohy (logovanie, monitorovanie, adaptéry).
Príklad čiastočnej špecifikácie podu:
# Príklad čiastočnej špecifikácie podu
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: main-app
image: my-docker-repo/my-app:latest
ports:
- containerPort: 80
resources:
limits:
cpu: "500m"
memory: "512Mi"
- name: log-collector
image: my-docker-repo/log-collector:latest
volumeMounts:
- name: app-logs
mountPath: /var/log/app
volumes:
- name: app-logs
emptyDir: {}
Základné princípy:
- Pod je najmenšia nasaditeľná jednotka v Kubernetes.
- Kontajnery v jednom podu zdieľajú jadrový priestor (PID, UTS, IPC).
- Škálovanie sa vykonáva na úrovni podu.
- Pod je určený na hostovanie tesne súvisiacich procesov.