Sobes.tech
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.