Sık karşılaşılan 100 Kubernetes Hatası ve Çözümü

Kubernetes ortamlarında karşılaşılan en yaygın 100 hatayı, sebeplerini ve çözümlerini bu içerikte bulabilirsiniz.

Aşşağıdaki kategorileri kapsamaktadır.

  • Pod Yaşam Döngüsü Hataları: CrashLoopBackOff, ImagePullBackOff, OOMKilled
  • Kaynak ve Zamanlama: PodUnschedulable, NodeNotReady, FailedScheduling
  • Depolama Sorunları: PVC Pending, VolumeMountError, Multi-Attach hatası
  • Ağ ve Servis: DNS çözümleme, Service endpoints, Ingress ve 404
  • Güvenlik ve Erişim: RBAC, Secret/ConfigMap bulunamama, PSP ihlalleri
  • Yapılandırma: YAML hataları, geçersiz etiketler, probe başarısızlıkları
  • Ölçeklendirme: HPA sorunları, quota aşımları, node pressure
  • İleri Düzey: CNI problemleri, webhook hataları, sertifika sorunları

# Hata Sebep Çözüm
01 CrashLoopBackOff Uygulama çökmesi veya yanlış komut Logları kontrol et, entrypoint veya config’i düzelt
02 ImagePullBackOff Yanlış image adı veya secret sorunu Image adını, registry bilgilerini doğrula
03 ErrImagePull Image yok veya erişilemiyor Image URL’ini veya kimlik bilgilerini düzelt
04 CreateContainerConfigError Geçersiz env veya config ConfigMap/Secret referanslarını kontrol et
05 CreateContainerError Container oluşturma sırasında sorun Image durumunu, volume mount’ları kontrol et
06 RunContainerError Uygulama oluşturma sonrası çalışamadı Logları, entrypoint’leri, izinleri incele
07 OOMKilled Container memory limitini aştı Limitleri ayarla, memory kullanımını optimize et
08 Back-off restarting failed container Container sürekli başarısız oluyor Logları kontrol et, backoff’u artır, hatayı düzelt
09 NodeNotReady Node down veya erişilemiyor Node’u yeniden başlat, kubelet’i kontrol et, altyapı sorunlarını incele
10 PodUnschedulable Yetersiz kaynak veya kısıtlamalar Node pool’ları, affinity’leri, quota’ları ayarla
11 NodeAffinity conflict Pod’un affinity’si karşılanamıyor Node etiketlerini veya affinity’leri yeniden yapılandır
12 PVC Pending Eşleşen PV yok PV’yi manuel oluştur veya dynamic provisioning’i etkinleştir
13 VolumeMountError Mount path veya volume sorunu Erişim modlarını, volume spec’leri kontrol et
14 DeadlineExceeded Job deadline’ı aştı Deadline’ı artır veya mantığı optimize et
15 InvalidImageName Hatalı image referansı Geçerli, versiyonlu image adları kullan
16 Secret not found Eksik secret referansı Gerekli secret’ı oluştur
17 ConfigMap not found Eksik config map referansı Oluştur veya referansı düzelt
18 NodeSelector mismatch Selector için eşleşen node yok Etiketleri/selector’ları ayarla
19 Invalid container port Tanımlanan port expose edilmemiş Container ve service port’unu eşleştir
20 FailedScheduling Pod uygun node bulamıyor Taint’leri, kaynakları, affinity’yi kontrol et
21 Liveness probe failed Health check endpoint’i başarısız Probe’u veya uygulama mantığını düzelt
22 Readiness probe failed Pod servis vermeye hazır değil Uygulamayı veya probe tanımını düzelt
23 Service not reachable Yanlış selector veya port Service spec’ini veya hedef etiketleri düzelt
24 DNS resolution failed CoreDNS çökmesi veya config sorunu CoreDNS’i yeniden başlat, DNS config’i düzelt
25 LoadBalancer pending Cloud LB oluşturulmamış Cloud entegrasyonunu ve izinleri kontrol et
26 RBAC access denied Yetersiz kullanıcı izni RoleBinding ile uygun roller ekle
27 Crash in InitContainer Init script başarısız Init container mantığını veya script’i düzelt
28 ImagePullSecrets error Geçersiz registry secret Secret’ı düzelt veya yeniden ekle
29 Invalid PVC access mode PV modu ile uyumsuzluk ReadWriteOnce vs Many’yi eşleştir
30 Unbound PersistentVolumeClaim PVC, PV’ye bağlanamıyor Eşleşen PV oluştur
31 Pod evicted Node baskısı (memory, disk) Node’ları scale et, kaynak limitlerini ayarla
32 Unauthorized error Token veya cert süresi dolmuş Kimlik bilgilerini yenile
33 Admission webhook denied pod Policy validation başarısız Policy’yi veya admission config’i düzelt
34 PodSecurityPolicy violation Spec PSP tarafından engellenmiş Policy’yi veya pod spec’ini ayarla
35 Pod quota exceeded Namespace kaynak quota’sına ulaşıldı Limitleri artır veya pod’ları temizle
36 API throttling Çok fazla API isteği Client-side throttling veya retry kullan
37 Invalid label format Etiket geçersiz karakterler içeriyor Etiketi regex’e uygun düzelt
38 Service endpoints not populated Eşleşen pod yok Pod selector’larını kontrol et
39 Helm release failed Chart veya values hatası Template’leri doğrula, dry-run kullan
40 Helm rollback failed Önceki durum bozuk Manuel olarak sil veya kaynakları düzelt
41 Node disk full Pod logları veya volume’ler node’u doldurmuş Log rotation kullan, temizleme job’ları
42 Invalid YAML Manifest’te syntax hatası YAML’ı lint ve validate et
43 Container exits immediately Çalışan komut yok Uygun entrypoint veya CMD kullan
44 Job doesn’t complete Sessizce asılı kalıyor veya başarısız oluyor backoffLimit ayarla, alerting ekle
45 DaemonSet pods not scheduled Taint’ler tolere edilmiyor Spec’e toleration ekle
46 Pod can’t mount ConfigMap Volume doğru tanımlanmamış volumeMount’ları ve volume’leri düzelt
47 Invalid node port range Cluster port aralığının dışında 30000-32767 arası portlar kullan
48 Pod terminated with exit code 137 OOM veya SIGKILL Logları kontrol et, memory’yi artır
49 Job history limits too high Job’lar API server’ı tıkıyor History limitlerini ayarla
50 Pod never terminates Container sonsuza kadar çalışıyor Timeout veya readiness check ekle
51 Invalid annotation key Anahtar isimlendirme kurallarını ihlal ediyor Annotation formatını düzelt
52 Deployment rollout stuck Kullanılamayan replica’lar > threshold Pod sağlığını ve quota’ları kontrol et
53 Service without selector Endpoint oluşturulmamış Manuel endpoint tanımla veya selector ekle
54 Container can’t write logs Log path yok veya izin sorunu Doğru path ayarla veya volume mount et
55 HorizontalPodAutoscaler not scaling Metrics-server eksik Metrics-server’ı kur
56 Deployment loops without change Yanlış etiket eşleşmesi veya template hash Doğru selector’ları kullan
57 Pod IP not reachable CNI plugin sorunu CNI loglarını kontrol et ve plugin’i yeniden başlat
58 ClusterIP service unreachable IPTables sorunu kube-proxy’yi yeniden başlat veya kuralları kontrol et
59 Controller-manager crashloop Cert’ler veya leader election config Config ve logları kontrol et
60 Too many open files File descriptor limitine ulaşıldı Container üzerinde ulimit’i artır
61 Pod fails DNS resolution inside cluster kube-dns svc.cluster.local’ı çözemiyor CoreDNS’i yeniden başlat ve config’i doğrula
62 HPA flapping up/down Threshold’lar çok dar Cool-down ve buffer aralıkları ekle
63 Node cordoned unexpectedly Drift veya manuel işlem Uncordon et veya script ile otomatize et
64 Evicted due to node reboot Pod disruption budget yok Kritik workload’lara PDB ekle
65 Service has no endpoints Pod’lar selector’larla eşleşmiyor Etiketleri veya selector’ları düzelt
66 Service has wrong targetPort Service portu container ile eşleşmiyor Service spec’ini düzelt
67 Pod fails due to image tag latest Eski image cache’lenmiş Versiyonlu tag’ler kullan
68 Kubelet not registering node Firewall veya DNS bloğu Portları aç, DNS’i doğrula
69 API server not reachable Network veya cert sorunu Control plane ve network’ü kontrol et
70 Pod takes too long to start Init gecikmesi, ağır image Image boyutunu ve probe’ları optimize et
71 Pod fails due to PodToleratesNodeTaints Node üzerindeki taint’ler pod tarafından tolere edilmiyor Pod spec’ine uygun toleration’lar ekle
72 failed to pull image but image exists Image pull secret’ları yanlış yapılandırılmış imagePullSecrets’ı doğrula ve düzelt
73 Ingress returns 404 despite healthy service Yanlış path veya eksik backend kuralı Ingress path config ve backend mapping’i kontrol et
74 Persistent Volume stuck in Terminating Finalizer silmeyi engelliyor Finalizer’ı manuel kaldır veya force delete
75 Readiness probe fails but container healthy Probe path veya port yanlış Readiness probe URL/port’unu düzelt
76 Pods stuck due to affinity rules Aşırı katı affinity/anti-affinity Affinity kurallarını gevşet veya toleration ekle
77 Node pressure eviction DiskPressure veya MemoryPressure durumu Diski temizle, node pool’u scale et veya limitleri ayarla
78 No routes found in Calico networking BGP yanlış yapılandırılmış veya bozuk Calico node’larını yeniden başlat veya BGP config’i resetle
79 rpc error: code = Unknown on API calls Controller’dan gRPC çağrısı beklenmedik şekilde başarısız API’ye bağımlı controller’ları yeniden başlat
80 Failed attaching volume: Multi-Attach error Volume başka bir pod tarafından kullanılıyor Volume’un ReadWriteMany desteklediğinden emin ol veya ayır
81 sysctl not allowed Pod desteklenmeyen sysctl’ler kullanıyor Kubelet config’ine allowed sysctl’leri ekle
82 hostname unknown errors in containers DNS çözümlemesi eksik veya CoreDNS çökmüş CoreDNS’i yeniden başlat, resolv.conf’u doğrula
83 CrashLoopBackOff due to failed initContainer Init container başarısız, ana asla başlamıyor initContainer mantığını düzelt veya kaldır
84 volumeMount fails due to read-only mode Mount readOnly olarak tanımlanmış ama yazma deneniyor Yazma gerekiyorsa readOnly: false yap
85 NetworkPolicy blocks egress to internet Deny-all policy mevcut Gerekli CIDR’leri veya belirli FQDN’leri izin ver
86 Secret not found during deploy Namespace uyumsuzluğu veya race condition Secret’ın doğru namespace’te olduğundan emin ol
87 ConfigMap is immutable error Immutable ConfigMap’i güncellemeye çalışılıyor ConfigMap’i sil ve yeniden oluştur
88 Pod stuck Pending due to NoVolumeZoneConflict PVC, node’da mevcut olmayan bir zone talep etti Zonal PVC’ler kullan veya eşleşen zone’lara schedule et
89 API server connection refused Bozuk kubeconfig veya API çalışmıyor kubeconfig context’ini ve cluster durumunu doğrula
90 Sidecar container causes pod to never terminate Ana container çıkıyor, sidecar sonsuza kadar çalışıyor Terminate için sidecar lifecycle hook’ları kullan
91 HPA not scaling pods Metrics server raporlama yapmıyor metrics-server’ı kur/doğrula
92 kubectl get hangs indefinitely API server yüklenmiş veya DNS yanlış yapılandırılmış CoreDNS’i yeniden başlat veya master node sağlığını kontrol et
93 Logs not available after pod crash Ephemeral storage dolu veya log rotation yok Merkezi logging kullan veya persistent log’lar
94 cert expired on Kubelet or API server Cluster sertifikası rotate edilmemiş kubeadm certs renew veya otomasyon ile yenile
95 Webhook validation timeout Webhook backend yavaş veya yanlış yapılandırılmış Webhook servisini düzelt veya timeout’u artır
96 PodDisruptionBudget blocks rollout Disrupt edilmesine izin verilen pod sayısı çok az Rollout sırasında PDB threshold’larını ayarla
97 Pod stuck due to unresolved hostPath mount Host path node’da eksik Host path’in var olduğundan emin ol veya PV kullan
98 containerCreating forever with sandbox issue Containerd veya Docker sandbox takılmış Container runtime’ı veya node’u yeniden başlat
99 Kube-proxy fails on startup IPTables kuralları bozuk iptables’ı flush ve restore et veya node’u reboot et
100 QoS mismatch causes unexpected eviction Yanlış limits/requests kombinasyonu Guaranteed/burstable sınıflarını bilinçli kullan
3 Beğeni

Hocam Ellerine sağlık çok güzel bir çalışma olmuş

Emeğinize Sağlık, Çok Güzel Olmuş.

Değerli bilgiler için teşekkürler.

Teşekkürler elinize sağlık