Kubernetes - fiszka
1. “Pod nie działa / CrashLoopBackOff / Pending”
Section titled “1. “Pod nie działa / CrashLoopBackOff / Pending””Sprawdź podstawy
kubectl get pods -A
kubectl describe pod <pod> -n <ns>
Zajrzyj do logów
kubectl logs <pod> -n <ns>
kubectl logs <pod> -n <ns> -c <container>
➤ Jeśli pod ciągle pada — zobacz poprzednie logi
kubectl logs
2. “Aplikacja nie może połączyć się z bazą / usługą”
Section titled “2. “Aplikacja nie może połączyć się z bazą / usługą””➤ Wejdź do PODA aplikacyjnego
kubectl exec -it <pod> -n <ns> -- sh
➤ Ping DNS serviców
nslookup <service-name>
➤ Test portów
apk add curl # alpine
apt-get update && apt-get install -y curl # debian/ubuntu
curl -v telnet://<service-name>:5432
lub
nc -zv <service-name> 5432
➤ Sprawdź czy service ma endpointy
kubectl get endpoints <service> -n <ns>
3. “Service nie działa / ruch nie dochodzi”
Section titled “3. “Service nie działa / ruch nie dochodzi””➤ Service overview
kubectl get svc -n <ns>
kubectl describe svc <service> -n <ns>
➤ Sprawdź Endpoints
kubectl get endpoints <service> -n <ns>
Jeśli puste → selector nie pasuje do podów.
4. “ConfigMap / Secret nie załadował się poprawnie”
Section titled “4. “ConfigMap / Secret nie załadował się poprawnie””➤ Wylistuj
kubectl get configmaps -n
➤ Pokaż zawartość
kubectl describe configmap <name> -n <ns>
kubectl describe secret <name> -n <ns> # zaszyfrowane
kubectl get secret <name> -n <ns> -o yaml
➤ Jeśli pod nie widzi zmian
ConfigMapy wymagają restartu poda:
kubectl rollout restart deployment/<deploy> -n <ns>
5. “Deployment nie startuje / zero replik”
Section titled “5. “Deployment nie startuje / zero replik””➤ Sprawdź Deployment
kubectl get deploy -n <ns>
kubectl describe deploy <deploy> -n <ns>
➤ Sprawdź ReplicaSet
kubectl get rs -n <ns>
kubectl describe rs <rs> -n <ns>
➤ Wymuś restart
kubectl rollout restart deploy <deploy> -n <ns>
6. “Liveness/Readiness failing”
Section titled “6. “Liveness/Readiness failing””➤ Zobacz szczegóły
kubectl describe pod <pod> -n <ns>
➤ Uruchom ręcznie probe w podzie
curl localhost:<port>/health
7. “Volumes nie montują się / errors: permission denied”
Section titled “7. “Volumes nie montują się / errors: permission denied””➤ Zobacz PVC
kubectl get pvc -n <ns>
kubectl describe pvc <name> -n <ns>
➤ Zobacz PV
kubectl get pv
kubectl describe pv <name>
➤ W podzie sprawdź uprawnienia
kubectl exec -it <pod> -- sh
ls -la /path
8. “Pod ma nie to ENV które powinien”
Section titled “8. “Pod ma nie to ENV które powinien””➤ Zobacz środowisko
kubectl exec -it <pod> -n <ns> -- env
9. “Ingress nie przepuszcza ruchu”
Section titled “9. “Ingress nie przepuszcza ruchu””➤ Sprawdź Ingress
kubectl get ingress -n <ns>
kubectl describe ingress <ingress> -n <ns>
➤ Sprawdź kontroler
kubectl get pods -n ingress-nginx
kubectl logs <pod> -n ingress-nginx
10. “Coś nie działa, nie wiem co” — pełny zestaw diagnostyczny
Section titled “10. “Coś nie działa, nie wiem co” — pełny zestaw diagnostyczny”➤ Stan wszystkiego:
kubectl get pods,svc,deploy,ingress,pvc -A -o wide
➤ Najczęstsze fixy:
kubectl rollout restart deploy/<deploy> -n <ns>
kubectl delete pod <pod> -n <ns>
➤ Trafiło do CrashLoop?
kubectl logs <pod> -n <ns> --previous