Aide-mémoire CKAD
exemple YAML livenessProbe k8s
Les probes sont sur le conteneur. kubectl run ne les pose pas : dry-run, éditer, apply.
apiVersion: v1
kind: Pod
metadata:
name: web
spec:
containers:
- name: web
image: nginx:1.27
ports:
- containerPort: 80
startupProbe:
httpGet:
path: /
port: 80
failureThreshold: 30
periodSeconds: 2
livenessProbe:
httpGet:
path: /healthz
port: 80
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 80
periodSeconds: 5
livenessProbe:
exec:
command: ["cat", "/tmp/healthy"]
periodSeconds: 10
readinessProbe:
tcpSocket:
port: 3306
periodSeconds: 5
Champs
- startupProbe
- Tourne en premier. liveness et readiness attendent son succès.
- livenessProbe
- Échec → kubelet redémarre le conteneur.
- readinessProbe
- Échec → le Pod reste, sorti des endpoints du Service.
- httpGet
- path doit commencer par /.
Pièges
- startupProbe tourne en premier. liveness et readiness attendent son succès.
- readiness KO → le Pod reste, sorti des endpoints du Service. liveness KO → le conteneur redémarre.
- httpGet.path doit commencer par /. port est un numéro ou un containerPort nommé.
Doc officielle Probes