Junior
Was muss in einem Pod in Kubernetes enthalten sein?
sobes.tech KI
Antwort von AI
In einem Pod von Kubernetes muss sich befinden:
- Ein oder mehrere zusammenhängende Container, die als eine Einheit arbeiten und Ressourcen gemeinsam nutzen.
- Gemeinsame Datenspeicher (Volumes) für die Container im Pod.
- Ein gemeinsamer Netzwerk-Stack für alle Container (gemäß der IP-Spezifikation).
- Die Pod-Spezifikation (PodSpec-Objekt), die beschreibt, wie die Container arbeiten sollen, einschließlich:
- Container-Images.
- Notwendige Ressourcen (CPU, Arbeitsspeicher).
- Offene Ports.
- Umgebungsvariablen.
- Gesundheitsprüfungen (Liveness- und Readiness-Probes).
- Neustart-Politiken.
Typische Verwendung:
- Ein Hauptanwendungs-Container.
- Ein oder mehrere "Sidecar"-Container, die Hilfsaufgaben ausführen (Protokollierung, Überwachung, Adapter).
Beispiel für eine Pod-Spezifikation (teilweise):
# Beispiel für eine teilweise Pod-Spezifikation
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: {}
Grundprinzipien:
- Ein Pod ist die kleinste deploybare Einheit in Kubernetes.
- Container in einem Pod teilen sich den Kernel-Namensraum (PID, UTS, IPC).
- Skalierung erfolgt auf Pod-Ebene.
- Ein Pod ist für die Ausführung eng verbundener Prozesse vorgesehen.