Postup při ladění
Postup při ladění
Jedno pořadí kroků, pokaždé stejné. Je krátké, protože funguje.
graph TB
A["kubectl get pod -o wide<br/>jaký stav? který uzel?"] --> B["kubectl describe pod<br/>přečti Events dole"]
B --> C{"nastartoval kontejner?"}
C -->|ne| D["oprav podle události:<br/>image, plánování, volume, probe"]
C -->|ano| E["kubectl logs [--previous]<br/>co řekla aplikace?"]
E --> F["kubectl exec -it -- sh<br/>jen když běží"]
Stavy a kde hledat odpověď
| Stav | Kde je odpověď |
|---|---|
Pending | describe → FailedScheduling: kapacita, taint, nenavázaný PVC |
ContainerCreating | describe → stahování image nebo připojení volume (probíhá, nebo visí) |
ImagePullBackOff / ErrImagePull | špatné jméno či tag image, nebo přihlašovací údaje do registru |
CrashLoopBackOff | logs --previous – aplikace nastartovala a skončila |
Running, ale ne Ready | padá readiness probe; Service takový pod obejde |
OOMKilled | describe → Last State; příliš nízký paměťový limit |
věčný Terminating | finalizer, nebo kontejner ignorující SIGTERM |
Širší pohled
kubectl get events --sort-by=.lastTimestamp | tail -20
kubectl get events -A --field-selector type=Warning
kubectl get pods -A -o wide | grep -v Running
kubectl top nodes ; kubectl top pods
Když aplikace neodpovídá
Postupujte směrem ven od podu: je pod ready, má Service endpointy, překládá se DNS, směruje Gateway.
kubectl get endpointslices -l kubernetes.io/service-name=web-svc
Prázdné endpointy jsou zdaleka nejčastější příčina a vždy jde o neshodu labelů nebo padající readiness probe – ne o síť.