Managed Kubernetes – Troubleshooting

Übersicht

Troubleshooting #

 

Pod verbleibt im Status Pending

Ein Pod bleibt im Status Pending, wenn er nicht auf einer Node platziert werden kann. Häufige Ursachen:

  • Ressourcenmangel: Keine Node hat ausreichend CPU/RAM, um die requests des Pods zu erfüllen. Dies kann mit folgendem Befehl geprüft werden:
kubectl describe pod <pod-name> -n <namespace>

Im Abschnitt Events finden Sie Hinweise wie Insufficient cpu oder Insufficient memory.

  • Keine passende Node: Das Pod hat nodeSelector, nodeAffinity oder tolerations gesetzt, die von keiner Node erfüllt werden. Prüfen Sie die Labels der Nodes:
kubectl get nodes --show-labels

Lösung: Ressourcenrequests anpassen, Worker Group aufskalieren oder Node-Selector/Tolerations überprüfen.


 

PVC verbleibt im Status Pending

Ein Persistent Volume Claim bleibt im Status Pending, wenn kein passendes Persistent Volume bereitgestellt werden kann. Häufige Ursachen:

  • StorageClass fehlt oder existiert nicht: Die im PVC angegebene storageClassName ist nicht im Cluster verfügbar. Verfügbare StorageClasses prüfen:
kubectl get storageclasses
  • Angeforderte Größe nicht verfügbar: Der angeforderte Speicherplatz kann nicht bereitgestellt werden. Details prüfen:
kubectl describe pvc <pvc-name> -n <namespace>
  • ReadWriteMany (RWX) nicht unterstützt: Der AccessMode ReadWriteMany wird nicht unterstützt. Verwenden Sie stattdessen ReadWriteOnce.

Lösung: Korrekte StorageClass angeben, Speichergröße anpassen oder ReadWriteOnce als AccessMode verwenden.


 

Node NotReady

Eine Node zeigt den Status NotReady, wenn die Worker Node nicht erreichbar ist oder kubelet nicht richtig funktioniert. Mögliche Ursachen:

  • Temporärer Ausfall: Die wird durch die automatische Node-Ersetzung (Node Reconciliation) ersetzt – siehe Node Failure
  • Netzwerkproblem: Die Verbindung zwischen Control Plane und Worker Node ist gestört

Node-Status prüfen:

kubectl get nodes
kubectl describe node <node-name>

Lösung: Bei dauerhaftem NotReady-Status wird die Node automatisch ersetzt. Falls das nicht erfolgt, wenden Sie sich an den Support.


 

Service extern nicht erreichbar

Ein Service vom Typ LoadBalancer ist von außerhalb des Clusters nicht erreichbar. Häufige Ursachen:

  • Keine externe IP zugewiesen: Der Service hat noch keine externe IP erhalten. Status prüfen:
kubectl get svc -n <namespace>

Wenn die Spalte EXTERNAL-IP <pending> zeigt, wird die IP noch zugewiesen. Falls der Zustand dauerhaft besteht, wenden Sie sich an den Support.

  • Falscher Target-Port: Der targetPort des Services stimmt nicht mit dem Port überein, auf dem die Anwendung lauscht.

Lösung: Externe IP und Target-Port überprüfen.