Skip to content

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 -n —previous

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 kubectl get secrets -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>

➤ 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

➤ 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