Kubernetes
Best practice-ek
Production alapelvek: deployment használat, limit-ek, image tag-ek, config szeparáció, RBAC, GitOps, staging.
Best practice-ek
Soha ne használj bare pod-ot production-ben
# ❌ Kerüld ezt éles rendszerben
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
spec:
containers:
- name: myapp
image: myapp:latest# ✅ Használj Deployment-et
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
replicas: 3
...Mindig adj meg resource limit-eket
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "500m"Ne használj latest taget image-eknél
# ❌ Nem reprodukálható
image: myapp:latest
# ✅ Pontos verzió vagy commit hash
image: myapp:1.2.3
image: myapp:a1b2c3dHasználj ConfigMap-et és Secret-et a konfigurációhoz
Ne égesd bele a konfigurációt az image-be; környezetspecifikus értékek ConfigMap/Secret-ben legyenek.
Namespace-ekkel szeparálj
Külön csapatok/projektek/környezetek számára külön namespace-eket használj.
Adj meg liveness és readiness probe-okat
Probe-ok nélkül a Kubernetes nem tud megbízhatóan dönteni az egészségi állapotról és forgalomról.
Figyelj a logokra és metrikákra
Használj log aggregációt (pl. Fluentd) és monitoringot (pl. Prometheus + Grafana).
Használj RBAC-ot
Ne adj mindenkinek cluster-admin jogot; Role-Based Access Control-lal korlátozz.
Verziókövess minden YAML-t (GitOps)
A konfiguráció menjen Git-be, PR folyamaton keresztül módosuljon, és CI/CD telepítse.
Tesztelj staging-en production előtt
Legyen staging környezet, ami a production-höz hasonló.
Rövid összefoglaló
- Deployment + limit-ek + probe-ok nélkül könnyen instabil lesz a rendszer.
- Image tag-ek legyenek determinisztikusak.
- GitOps és RBAC segít a kontrollált üzemeltetésben.