Kubernetes
Haladó témák
HPA, resource requests/limits, namespace szeparáció, probe-ok és tartós tárolás (PVC).
Haladó témák
Horizontal Pod Autoscaler (HPA)
A HPA automatikusan skálázza a deployment-eket CPU/memória alapján (ehhez tipikusan szükséges a Metrics Server).
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: myapp-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp-deployment
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70Resource requests és limits
- Request: scheduler szempontjából a minimum igény.
- Limit: maximum használat; memória limit túllépés → OOMKill.
resources:
requests:
memory: "128Mi"
cpu: "250m"
limits:
memory: "256Mi"
cpu: "500m"Namespace-ek szeparációhoz
kubectl create namespace team-frontend
kubectl create namespace team-backend
kubectl create namespace development
kubectl create namespace staging
kubectl create namespace productionLiveness és readiness probe
spec:
containers:
- name: myapp
image: myapp:1.0.0
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 10- Liveness: bukás → újraindítás
- Readiness: bukás → kivétel a forgalomból (nem feltétlen restart)
PersistentVolumeClaim (PVC)
Állapottal rendelkező alkalmazásoknál tartós tárolást ad, a pod életciklusától függetlenül.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: myapp-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10GiRövid összefoglaló
- HPA automatikus skálázás CPU/memória alapján.
- Requests/limits stabilitást és fair erőforrás-használatot ad.
- Probe-ok nélkül nehéz megbízhatóan forgalmazni.