Junior
Ce trebuie să fie în interiorul unui Pod în Kubernetes?
sobes.tech AI
Răspuns de la AI
Într-un Pod Kubernetes trebuie să se afle:
- Unul sau mai multe containere legate între ele, care funcționează ca o singură unitate și împart resurse.
- Stocare de date comună (Volumes) pentru containerele din Pod.
- O stivă de rețea comună pentru toate containerele (conform specificației IP).
- Specificația Pod (obiectul PodSpec), care descrie modul în care trebuie să funcționeze containerele, inclusiv:
- Imaginile containerelor.
- Resursele necesare (CPU, memorie).
- Porturile deschise.
- Variabilele de mediu.
- Probe de sănătate (sonde de vivacitate și de pregătire).
- Politicile de repornire.
Utilizare tipică:
- Un container principal al aplicației.
- Unul sau mai multe containere "sidecar" care execută sarcini auxiliare (înregistrare, monitorizare, adaptoare).
Exemplu de specificație parțială a Podului:
# Exemplu de specificație parțială a Podului
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: {}
Principii fundamentale:
- Podul este cea mai mică unitate de implementare în Kubernetes.
- Containerele din același Pod împart spațiul de nume al nucleului (PID, UTS, IPC).
- Scalarea se face la nivel de Pod.
- Podul este destinat să găzduiască procese strâns legate.