Kubernetes
Podok és konténerek
Mi az a pod, miért ez a legkisebb egység, sidecar minta és pod életciklus állapotok.
Podok és konténerek
Mi az a pod?
A pod a Kubernetes legkisebb, önállóan telepíthető egysége. Fontos, hogy a Kubernetes nem közvetlenül konténerekkel dolgozik, hanem pod-okkal. Egy pod egy vagy több szorosan együttműködő konténert fog össze.
Miért a legkisebb egység?
A pod absztrakciós réteg a konténer fölött, mert:
- A pod-on belüli konténerek ugyanazon a hálózati névtéren osztoznak (megosztott IP-cím, port-tér).
- Ugyanazon a köteten (volume) is osztozhatnak.
- Életciklusuk összekapcsolt: ha a pod meghal, minden benne lévő konténer meghal.
Egy konténeres pod
apiVersion: v1
kind: Pod
metadata:
name: example-pod
labels:
app: myapp
spec:
containers:
- name: app
image: nginx:1.25
ports:
- containerPort: 80Több konténeres pod (sidecar minta)
apiVersion: v1
kind: Pod
metadata:
name: sidecar-pod
spec:
containers:
- name: main-app
image: myapp:latest
ports:
- containerPort: 8080
- name: log-collector
image: fluentd:latest
volumeMounts:
- name: shared-logs
mountPath: /var/log/app
volumes:
- name: shared-logs
emptyDir: {}Pod életciklus
| Állapot | Leírás |
|---|---|
Pending | Be van ütemezve, de a konténerek még nem indultak el |
Running | Legalább egy konténer fut |
Succeeded | Minden konténer sikeresen leállt (egyszeri feladatoknál) |
Failed | Legalább egy konténer hibával állt le |
Unknown | Ismeretlen állapot (pl. hálózati hiba) |
Fontos: Éles rendszerben ne hozz létre pod-ot közvetlenül. Használj deployment-et (vagy más magasabb szintű objektumot), ami kezeli a pod-ok életciklusát.
Rövid összefoglaló
- A pod a legkisebb egység, egy vagy több konténert tartalmaz.
- A pod-on belüli konténerek osztoznak hálózaton és köteteken.
- Production-ben kerüld a „bare pod” használatát.