50 Yaygın Kubernetes Sorunu ve Çözümleri


Kubernetes cluster yönetimi yapan devops yada sistem mühendisileri için diyelim problem çözerken bu komutlar hem aklınızda olsun hemde elinizin altında olsun diye minik bir çalışma oldu umarım işinize yarar. Ek olarak sayfa sonunda yine bir resim var oda bir flowchart umarım oda size ek bilgi olur. 

1. Pod CrashLoopBackOff Durumunda:

Hata: Pod çökmeye ve yeniden başlatılmaya devam ediyor.

Sorun çözümü: Hatalar için pod loglarını kontrol edin, gerekli kaynakların mevcut olduğundan emin olun, yanlış yapılandırmaları kontrol edin.

Örnek komut: kubectl logs <pod-name>


2. ImagePullBackOff:

Hata: Kubernetes kontayner imajını çekemiyor.

Sorun çözümü: İmaj adını ve erişim izinlerini doğrulayın, ağ bağlantısını kontrol edin.

Örnek komut:  kubectl describe pod <pod-name>


3. Pod Pending: 

Hata: Pod Beklemede durumunda takılı kaldı.

Sorun çözümü: Yetersiz kaynaklar, pod zamanlama kısıtlamaları.

Örnek komut : kubectl describe pod <pod-name>


4. Invalid Pod Specification:

Hata: Pod özellikleri geçersiz yapılandırmalar içeriyor.

Sorun çözümü: Pod YAML dosyasını sözdizimi hataları, eksik alanlar veya

yanlış değerler.

Örnek komut: kubectl apply -f <pod-spec.yaml> --dry-run=client


5. Service Unavailable:

Hata: Hizmete erişilemiyor.

Sorun çözümü:  Hizmet yapılandırmasını, uç nokta hazırlığını, ağı kontrol edin politikalar.

Örnek komut: kubectl get svc


6. Node Not Ready:

Hata: Node podları kabul etmeye hazır değil.

Sorun çözümü: Node durumunu inceleyin, sistem günlüklerini kontrol edin, kaynakların kullanımlarını izleyin.

Örnek komut: kubectl describe node <node-name>


7. Volume Mount Errors:

Hata: Podların mount edilmesi ile ilgili sorun.

Sorun çözümü: Storage yapılandırmasını, izinleri ve volume ayarlarının kullanılabilir olduğunu doğrulayın.

Örnek komut:  kubectl describe pod <pod-name>


8. RBAC Permission Denied:

Hata: Kullanıcı veya hizmet hesabının gerekli izinleri yok.

Sorun çözümü: RBAC rollerini ve bağlamlarını gözden geçirin, cluster rolünün izinlerini kontrol edin.

Örnek komut:  kubectl auth can-i <verb> <resource> --as <user>


9. Pod Evicted:

Hata: Pod node üzerinde diğer node gönderildi (Evicted).

Sorun çözümü: Kaynak kısıtlamaları, node sorunları, pod önceliği (priority) yapılandırmasını kontrol.

Örnek komut:  kubectl describe pod <pod-name>


10. Network Policy Issues:

Hata: Network ilkeleri pod iletişimini engelliyor.

Sorun çözümü: Network ilkesi yapılandırmalarını gözden geçirin, pod etiketlerini ve seçicileri (selectors) kontrol edin.

Örnek komut: kubectl describe networkpolicy <policy-name>


11. ImageNotFound:

Hata: Kubernetes belirtilen container image  bulamıyor.

Sorun çözümü: İmaj adını ve depoyu doğrulayın, imaj kullanılabilirliğini kontrol edin.

Örnek komut: kubectl describe pod <pod-name>


12. Init Container Errors:

Hata: Başlatılamayan veya tamamlanamayan init konteynerleri ile ilgili sorunlar.

Sorun çözümü: Init konteyner günlüklerini kontrol edin, bağımlılıkları ve konteyner başlatma sırasını doğrulayın.

Örnek komut: kubectl logs <pod-name> -c <init-container-name>


13. Node Out of Disk Space:

Hata: Node'da yetersiz disk alanı.

Sorun çözümü: Disk alanını boşaltın, birimleri yeniden boyutlandırın veya ek depolama alanı ekleyin.

Örnek komut: df -h (linux node login olduktan sonra)


14. Pod Stuck in Terminating State:

Hata: Pod sonlandırmada takılı kaldı ve kaldırılmıyor.

Sorun çözümü: Pod sonlandırıcıları manuel olarak silin, controller-manager loglarını kontrol edin.

Örnek komut: kubectl delete pod <pod-name> --grace-period=0 -force


15. Invalid Namespace:

Hata: Belirtilen namespace  mevcut değil veya yanlış yazılmış.

Sorun çözümü: Namespace yazımını kontrol edin, gerekirse namespace oluşturun.

Örnek komut: kubectl get namespace veya kubectl create namespace <namespace-name>


16. Invalid Pod IP:

Hata: Pod IP'si atanmamış veya geçersiz.

Sorun çözümü: Network konfigürasyonlarını kontrol edin, kubelet servisini yeniden başlatın.

Örnek komut: kubectl describe pod <pod-name>


17. DNS Resolution Failure:

Hata: Pod DNS adlarını çözümleyemiyor.

Sorun çözümü: DNS yapılandırmalarını doğrulayın, network politikalarını kontrol edin, DNS çözümlemesini test edin.

Örnek komut: kubectl exec -it <pod-name> -- nslookup <domain>


18. CrashLoopBackOff with Custom Controllers:

Hata: Özel controller-managed yönetilen podlar CrashLoopBackOff durumundadır.

Sorun çözümü: Controller loglarını kontrol edin, controller implementation gözden geçirin, pod kaynaklarını inceleyin.

Örnek komut: kubectl logs <controller-pod-name>


19. ConfigMap Errors:

Hata: ConfigMap oluşturma veya podlarda kullanımla ilgili sorunlar.

Sorun çözümü: ConfigMap yapılandırmalarını doğrulayın, sözdizimi (syntax) hatalarını kontrol edin.

Örnek komut: kubectl describe configmap <configmap-name>


20. Pod Security Context Violation:

Hata: Pod güvenlik bağlamı kısıtlamaları ihlal edildi.

Sorun çözümü: Pod güvenlik context gözden geçirin, güvenlik politikalarını kontrol edin.

Örnek komut: kubectl describe pod <pod-name>


21. Node NotReady Condition:

Hata: Node Hazır Değil olarak işaretlenmiştir.

Sorun çözümü: Node durumunu kontrol edin, kubelet günlüklerini inceleyin, node sağlığını izleyin.

Örnek komut: kubectl describe node <node-name>


22. PersistentVolumeClaim Pending:

Hata: PVC Beklemede durumunda takılı kaldı.

Sorun çözümü: Storage class kullanılabilirliğini kontrol edin, PV/PVC bağlarını inceleyin.

Örnek komut: kubectl describe pvc <pvc-name>


23. Scheduler Errors:

Hata: Pod zamanlama ile ilgili sorunlar.

Sorun çözümü: Zamanlayıcı günlüklerini inceleyin, kaynak isteklerini/sınırlarını kontrol edin.

Örnek komut: kubectl logs -n kube-system <scheduler-pod-name>


24. Missing Resource Quotas:

Hata: Kaynak kotası sınırları aşıldı.

Sorun çözümü: Kaynak kotalarını gözden geçirin, kaynak isteklerini/limitlerini ayarlayın.

Örnek komut: kubectl describe quota <quota-name>


25. Container Terminated Unexpectedly:

Hata: Pod içindeki konteyner beklenmedik bir şekilde sonlandırıldı.

Sorun çözümü: Konteyner loglarını kontrol edin, konteyner sağlık kontrollerini inceleyin, uygulama kodunu gözden geçirin.

Örnek komut: kubectl logs <pod-name>


26. Secret Decryption Error:

Hata: Secret şifresi çözülemiyor.

Sorun çözümü: Şifreleme yapılandırmalarını doğrulayın,  secret izinleri kontrol edin.

Örnek komut: kubectl describe secret <secret-name>


27. Pod Running Slow:

Hata: Pod'un başlaması veya yanıt vermesi beklenenden uzun sürüyor.

Sorun çözümü: Pod kaynak kullanımını kontrol edin, uygulama performansını inceleyin.

Örnek komut: kubectl top pod <pod-name>


28. Node Crashed:

Hata: Node çöktü ve kurtarılamaz.

Sorun çözümü: Node donanım/yazılım sorunlarını teşhis edin, gerekirse node'u değiştirin.

Örnek komut: kubectl describe node <node-name>


29. Deployment Rollout Stuck:

Hata: Deployment uygulaması takıldı veya duraklatıldı.

Sorun çözümü: Deployment durumunu inceleyin, çakışmaları veya engelleme koşullarını kontrol edin.

Örnek komut: kubectl rollout status deployment <deployment-name>


30. Ingress Controller Errors:

Hata: Ingress controller trafiği doğru yönlendirmiyor.

Sorun çözümü: Ingress controller loglarını kontrol edin, ingress kaynaklarını inceleyin, DNS çözünürlüğünü doğrulayın.

Örnek komut: kubectl logs -n <ingress-controller-namespace> <ingress-controller-pod-name>


31. Pod Affinity/Anti-Affinity Failures:

Hata: Affinity/Anti-Affinity kurallarına dayalı Pod scheduling başarısız.

Sorun çözümü: Pod Affinity/Anti-Affinity yapılandırmalarını gözden geçirin, node label'larını kontrol edin.

Örnek komut: kubectl describe pod <pod-name>


32. Horizontal Pod Autoscaler (HPA) Not Scaling:

Hata: HPA, podları beklendiği gibi ölçeklendirmiyor.

Sorun çözümü: HPA yapılandırmalarını inceleyin, kaynak metriklerini kontrol edin, pod kullanımını gözden geçirin.

Örnek komut: kubectl describe hpa <hpa-name>


33. Service Account Permissions:

Hata: Hizmet hesabının kaynaklara erişmek için gerekli izinleri yok.

Sorun çözümü: Hizmet hesabı rollerini ve rol bağlamalarını gözden geçirin.

Örnek komut: kubectl describe sa <service-account-name>


34. Pod Disruption Budget Violation:

Hata: Pod bütçe kısıtlamaları ihlal edildi:

Sorun çözümü: PodDisruptionBudget yapılandırmalarını gözden geçirin, pod kesintilerini kontrol edin.

Örnek komut: kubectl describe pdb <pdb-name>


35. Node Resource Exhaustion:

Hata: Node kaynakları (CPU, bellek) tükendi.

Sorun çözümü: Node kaynak kullanımını izleyin, kaynak kotalarını ayarlayın.

Örnek komut: kubectl top node


36. Custom Resource Definition (CRD) Errors:

Hata: Özel kaynak tanımlarıyla ilgili sorunlar.

Sorun çözümü: CRD yapılandırmalarını kontrol edin, CR manifestolarını doğrulayın.

Örnek komut: kubectl get crd


37. Pod Security Policy Violation:

Hata: Pod, pod güvenlik ilkelerine uymuyor.

Sorun çözümü: Pod güvenlik ilkesi yapılandırmalarını gözden geçirin, ilke ihlallerini kontrol edin.

Örnek komut: kubectl describe pod <pod-name>


38. Cluster Autoscaler Not Scaling:

Hata: Cluster autoscaler node'ları beklendiği gibi ölçeklendirmiyor.

Sorun çözümü: Cluster autoscaler günlüklerini inceleyin, node kullanımını kontrol edin, autoscaler yapılandırmalarını ayarlayın.

Örnek komut: kubectl logs -n kube-system <autoscaler-pod-name>


39. Pod Resource Contention:

Hata: Node üzerindeki Pod'lar kaynaklar için birbirleriyle çatışıyor.

Sorun çözümü: Kaynak isteklerini/sınırlarını gözden geçirin, pod zamanlama politikalarını ayarlayın.

Örnek komut: kubectl describe pod <pod-name>


40. Endpoint Not Ready:

Hata: Service endpoint trafik almaya hazır değil.

Sorun çözümü: Hizmet sağlık kontrollerini kontrol edin, Service endpoint durumunu gözden geçirin.

Örnek komut: kubectl describe endpoints <service-name>


41. Namespace Resource Quota Exceeded:

Hata: Namespace kaynak kotası sınırları aşıldı.

Sorun çözümü: Namespace kotalarını ayarlayın, Namespace kaynak kullanımını izleyin.

Örnek komut: kubectl describe quota -n <namespace-name>


42. Node Drain Failure:

Hata: Node boşaltma işlemi başarısız.

Sorun çözümü: Podları node'dan manuel olarak boşaltın, sıkışmış süreçleri kontrol edin.

Örnek komut: kubectl drain <node-name>


43. Invalid Service Type:

Hata: Hizmet tipi geçersiz veya desteklenmiyor.

Sorun çözümü: Hizmet bildirimindeki hizmet türünü gözden geçirin.

Örnek komut: kubectl describe service <service-name>


44. Cluster DNS Resolution Failure:

Hata: Cluster DNS hizmeti adları doğru şekilde çözümlemiyor.

Sorun çözümü: CoreDNS yapılandırmalarını doğrulayın, DNS hizmetinin kullanılabilirliğini kontrol edin.

Örnek komut: kubectl get svc -n kube-system


45. Pod Affected by Node Maintenance:

Hata: Pod, node bakım faaliyetlerinden etkileniyor.

Sorun çözümü: Podları noddan boşaltın, nodun kordonu (cordone) (pod boşaltma) olduğundan emin olun.

Örnek komut: kubectl drain <node-name>


46. Ingress Resource Misconfiguration:

Hata: Ingress kaynağı yanlış yapılandırılmış.

Sorun çözümü: Ingress YAML dosyasını gözden geçirin, backend service yapılandırmalarını kontrol edin.

Örnek komut: kubectl describe ingress <ingress-name>


47. API Server Unavailable:

Hata: Kubernetes API sunucusuna erişilemiyor.

Sorun çözümü: API sunucusu loglarını kontrol edin, network bağlantısını gözden geçirin.

Örnek komut: kubectl cluster-info


48. Node Affinity Violation:

Hata: Node affinity kurallarına dayalı Pod zamanlaması başarısız.

Sorun çözümü: Pod/node etiketlerini gözden geçirin, node affinity yapılandırmalarını inceleyin.

Örnek komut: kubectl describe pod <pod-name>


49. Pod Priority Preemption:

Hata: Daha düşük önceliğe sahip podlar, daha yüksek öncelikli podlar tarafından önceleniyor.

Sorun çözümü: Pod önceliği ayarlarını yapın, önceleme ilkelerini gözden geçirin.

Örnek komut: kubectl describe pod <pod-name>


50. Volume Quota Exceeded:

Hata: Persistent volume quota sınırları aşıldı.

Sorun çözümü: Depolama kotalarını ayarlayın, sabit birim kullanımını izleyin.

Örnek komut: kubectl describe quota <quota-name>


Kubetnes Problem çözme için ek bir flowchart resmi sizler için.


 

Daha yeni Daha eski