Junior
Mit kell tartalmaznia egy Podnak a Kubernetesben?
sobes.tech MI
Válasz az MI-től
A Kubernetes Podbanak kell lennie:
- Egy vagy több összefüggő konténer, amelyek egységként működnek és közösen osztják az erőforrásokat.
- Közös adattárolók (Volumes) a Podban lévő konténerek számára.
- Egy közös hálózati stack minden konténer számára (az IP-specifikációnak megfelelően).
- A Pod specifikációja (PodSpec objektum), amely leírja, hogyan kell működniük a konténereknek, beleértve:
- Konténerképek.
- Szükséges erőforrások (CPU, memória).
- Nyitott portok.
- Környezeti változók.
- Egészségügyi ellenőrzések (liveness és readiness probes).
- Újraindítási politikák.
Jellemző használat:
- Egy fő alkalmazás konténer.
- Egy vagy több "sidecar"-konténer, amelyek segédfeladatokat látnak el (naplózás, megfigyelés, adapterek).
Példa egy részleges Pod specifikációra:
# Részleges Pod specifikáció példája
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: {}
Alapelvek:
- Egy Pod a legkisebb telepíthető egység a Kubernetesben.
- Egy Podon belüli konténerek megosztják a kernel névteret (PID, UTS, IPC).
- A skálázás a Pod szintjén történik.
- Egy Pod célja, hogy szorosan összefüggő folyamatokat tartalmazzon.