Tüm Ürünler
Search
Belge Merkezi

Container Compute Service:Troubleshoot pod issues

Son Güncelleme:Oct 08, 2026

Anormal durumlar, görüntü çekme hataları ve OOM (Bellek Yetersizliği) hataları dahil olmak üzere yaygın pod sorunlarını teşhis edin ve çözün.

Bu konudaki içerikler

Kategori

İçerik

Tanılama süreci

Tanılama süreci

Yaygın sorun giderme yöntemleri

Yaygın sorunlar ve çözümler

Tanılama süreci

诊断流程2

  1. Anormal pod durumlarını kontrol edin. Daha fazla bilgi için bkz. Pod durumunu kontrol edin.

    1. Bir pod anormal durumdaysa nedeni belirlemek için olaylarını, günlüklerini ve yapılandırmasını kontrol edin. Daha fazla bilgi için bkz. Yaygın sorun giderme yöntemleri. Anormal pod durumları ve bunların nasıl ele alınacağı hakkında bilgi için bkz. Yaygın anormal pod durumları ve çözümleri.

    2. Pod Running durumunda ancak beklendiği gibi çalışmıyorsa bkz. Pod Running durumunda ancak beklendiği gibi çalışmıyor.

  2. Bir pod OOM sorunu olduğunu doğruladıysanız bkz. Pod OOM sorunlarını giderme.

  3. Sorun devam ederse destek talebi oluşturun.

Yaygın anormal pod durumları ve çözümleri

Pod durumu

Açıklama

Çözüm

Pending

Pod zamanlanmamıştır.

Pod Pending durumundadır

Init:N/M

Podun M adet init konteyneri vardır ve N adedi başarıyla başlatılmıştır.

Pod Init:N/M, Init:Error veya Init:CrashLoopBackOff durumundadır

Init:Error

Bir init konteyneri başlatılamadı.

Pod Init:N/M, Init:Error veya Init:CrashLoopBackOff durumundadır

Init:CrashLoopBackOff

Bir init konteyneri başlatılamadı ve tekrar tekrar yeniden başlatılıyor.

Pod Init:N/M, Init:Error veya Init:CrashLoopBackOff durumundadır

Completed

Pod başlangıç komutunu yürütmeyi tamamladı.

Pod Completed durumundadır

CrashLoopBackOff

Pod başlatılamadı ve tekrar tekrar yeniden başlatılıyor.

Pod CrashLoopBackOff durumundadır

ImagePullBackOff

Pod görüntüyü çekemedi.

Pod ImagePullBackOff durumundadır

Running

  1. Pod normal şekilde çalışıyor.

  2. Pod Running durumunda ancak beklendiği gibi çalışmıyor.

  1. Eylem gerekmez.

  2. Pod Running durumunda ancak beklendiği gibi çalışmıyor

Terminating

Pod sonlandırılıyor.

Pod Terminating durumundadır

Yaygın sorun giderme yöntemleri

Pod durumunu kontrol edin

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Sol üst köşesindeki Pods sayfasında podun Namespace değerini seçin ve durumunu kontrol edin.

Pod ayrıntılarını kontrol edin

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Sol üst köşesindeki Pods sayfasında podun Namespace değerini seçin. Ardından ad, görüntü ve IP adresi gibi ayrıntıları görüntülemek için hedef podun adına tıklayın veya İşlemler sütununda Ayrıntılar'a tıklayın.

Pod yapılandırmasını kontrol edin

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Sol üst köşesindeki Pods sayfasında podun Namespace değerini seçin. Ardından hedef podun adına tıklayın veya İşlemler sütununda Ayrıntılar'a tıklayın.

  4. Pod ayrıntıları sayfasında podun YAML dosyasını ve ayrıntılı yapılandırmasını görüntülemek için sağ üst köşedeki Edit seçeneğine tıklayın.

Pod olaylarını kontrol edin

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Sol üst köşesindeki Pods sayfasında podun Namespace değerini seçin. Ardından hedef podun adına tıklayın veya İşlemler sütununda Ayrıntılar'a tıklayın.

  4. Pod ayrıntıları sayfasının sağ üst köşesinde podun YAML dosyasını ve ayrıntılı yapılandırmasını görüntülemek için Edit seçeneğine tıklayın.

  5. Pod ayrıntıları sayfasında Events sekmesine tıklayın.

    Not

    Kubernetes varsayılan olarak son bir saate ait olayları saklar. Olayları daha uzun süre saklamak için bkz. Kubernetes olay merkezi oluşturma ve kullanma.

Pod günlüklerini kontrol edin

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Sol üst köşesindeki Pods sayfasında podun Namespace değerini seçin. Ardından hedef podun adına tıklayın veya İşlemler sütununda Ayrıntılar'a tıklayın.

  4. Pod ayrıntıları sayfasında Logs sekmesine tıklayın.

    Not

    Alibaba Cloud Container Service for Kubernetes (ACK) kümeleri Simple Log Service ile tümleşiktir. Standart çıkış ve konteynerler içindeki metin dosyaları dahil olmak üzere konteyner günlüklerini toplamak için bir küme oluştururken Simple Log Service'i etkinleştirin. Daha fazla bilgi için bkz. Konteyner ortam değişkenlerini kullanarak uygulama günlük toplamayı yapılandırma.

Pod izleme verilerini kontrol edin

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Prometheus Monitoring seçeneğini belirleyin.

  3. Prometheus Monitoring sayfasında pod CPU, bellek ve ağ G/Ç için izleme panolarını görüntülemek üzere Cluster Overview sekmesine tıklayın.

Uçbirim üzerinden bir konteynere bağlanın

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Pods sayfasında hedef podu bulun ve Terminal seçeneğini Actions sütununda tıklayın.

    Not

    Konteynerin içindeki yerel dosyaları ve diğer bilgileri incelemek için uçbirimi kullanın.

Pod hatalarını tanılama

  1. ACS konsolu ile oturum açın. Sol gezinme bölmesinde Clusters öğesine tıklayın.

  2. Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde Workloads > Pods seçeneğini belirleyin.

  3. Sol üst köşesindeki Pods sayfasında podun Namespace değerini seçin. Ardından hedef podun adına tıklayın veya İşlemler sütununda Ayrıntılar'a tıklayın.

  4. Pods sayfasında hedef podu bulun ve Diagnose seçeneğini Actions sütununda tıklayın.

    Not

    Pod üzerinde tanılama çalıştırın ve sonuçlara göre sorunu çözün. Daha fazla bilgi için bkz. Küme tanılama kullanma.

Pod Pending durumundadır

Neden

Pending durumundaki bir pod zamanlanamaz; bu durum genellikle kaynak bağımlılıklarından veya yanlış yapılandırılmış kotalardan kaynaklanır.

Belirti

Pod durumu Pending şeklindedir.

Çözüm

Podun neden zamanlanamadığını belirlemek için pod olaylarını inceleyin. Başlıca nedenler şunlardır:

  • Kaynak bağımlılıkları

    Bir pod ConfigMaps veya kalıcı birim talepleri (PVC'ler) gibi diğer küme kaynaklarına bağlı olabilir. Örneğin, bir kalıcı birim talebinin bir pod tarafından kullanılabilmesi için önce bir kalıcı birime bağlanması gerekir.

  • Yanlış yapılandırılmış kotalar

    Olayları ve denetim günlüklerini kontrol edin.

Pod durumları: Init, Error veya CrashLoopBackOff

Neden

  • Bir pod Init:N/M durumunda takılı kaldıysa M adet init konteyneri vardır ancak yalnızca N adedi başarıyla başlatılmıştır; bu da M-N adet konteynerin başlatılamadığı anlamına gelir.

  • Bir pod Init:Error durumundaysa poddaki bir init konteyneri başlatılamamıştır.

  • Bir pod Init:CrashLoopBackOff durumundaysa bir init konteyneri başlatılamamış ve tekrar tekrar yeniden başlatılmaktadır.

Belirti

  • Pod durumu Init:N/M şeklindedir.

  • Pod durumu Init:Error şeklindedir.

  • Pod durumu Init:CrashLoopBackOff şeklindedir.

Çözüm

  1. Başlatılmayan init konteynerlerinde herhangi bir sorun olup olmadığını görmek için pod olaylarını kontrol edin. Daha fazla bilgi için bkz. Pod olaylarını kontrol edin.

  2. Sorunu gidermek için başlatılmayan init konteynerlerinin günlüklerini kontrol edin. Daha fazla bilgi için bkz. Pod günlüklerini kontrol edin.

  3. Başlatılmayan init konteynerlerinin yapılandırmasının doğru olduğunu doğrulamak için pod yapılandırmasını kontrol edin. Daha fazla bilgi için bkz. Pod yapılandırmasını kontrol edin. Init konteynerleri hakkında daha fazla bilgi için bkz. Init Konteynerlerinde Hata Ayıklama.

Pod ImagePullBackOff durumundadır

Neden

ImagePullBackOff durumundaki bir pod zamanlanmış ancak konteyner görüntüsünü çekememiştir.

Belirti

Pod durumu ImagePullBackOff şeklindedir.

Çözüm

Çekilemeyen görüntünün adını bulmak için pod olayı açıklamasını kontrol edin.

  1. Konteyner görüntüsü adının doğru olduğunu doğrulayın.

  2. Özel bir görüntü deposu kullanıyorsanız çözüm için bkz. Bir görüntü deposundan görüntü kullanarak bir ACK iş yükü oluşturma.

Pod CrashLoopBackOff durumundadır

Neden

CrashLoopBackOff durumu konteynerin içindeki bir uygulama sorununu gösterir.

Belirti

Pod durumu CrashLoopBackOff şeklindedir.

Çözüm

  1. Podda bir sorun olup olmadığını onaylamak için pod olaylarını kontrol edin. Daha fazla bilgi için bkz. Pod olaylarını kontrol edin.

  2. Sorunu gidermek için pod günlüklerini kontrol edin. Daha fazla bilgi için bkz. Pod günlüklerini kontrol edin.

  3. Konteynerin sağlık denetimi yapılandırmasının doğru olduğunu doğrulamak için pod yapılandırmasını kontrol edin. Daha fazla bilgi için bkz. Pod yapılandırmasını kontrol edin. Konteyner sağlık denetimleri hakkında daha fazla bilgi için bkz. Canlılık, Hazırlık ve Başlangıç Yoklamalarını Yapılandırma.

Pod Completed durumundadır

Neden

Tüm konteyner süreçleri çıktıktan sonra bir pod Completed durumuna geçer.

Belirti

Pod durumu Completed şeklindedir.

Çözüm

  1. Konteynerdeki kabın başlangıç komutunu belirlemek için pod yapılandırmasını kontrol edin. Daha fazla bilgi için bkz. Pod yapılandırmasını kontrol edin.

  2. Sorunu gidermek için pod günlüklerini kontrol edin. Daha fazla bilgi için bkz. Pod günlüklerini kontrol edin.

Running durumundaki pod çalışmıyor

Neden

Dağıtım için kullanılan YAML dosyasında bir hata var.

Belirti

Pod Running durumunda ancak beklendiği gibi çalışmıyor.

Çözüm

  1. Konteyner yapılandırmasının beklentilerinizi karşılayıp karşılamadığını belirlemek için pod yapılandırmasını kontrol edin. Daha fazla bilgi için bkz. Pod yapılandırmasını kontrol edin.

  2. Ortam değişkenlerinin anahtarlarında yazım hatası olup olmadığını kontrol etmek için aşağıdaki yöntemleri kullanın.

    Aşağıdaki örnekte command ifadesinin commnd olarak yanlış yazılması durumunda yazım hatasının nasıl tespit edileceği gösterilmektedir.

    Not

    Bir pod oluşturduğunuzda küme ortam değişkeni anahtarlarındaki yazım hatalarını yoksayar. Örneğin, Command ifadesini Commnd olarak yanlış yazarsanız kaynağı oluşturmak için YAML dosyasını yine de kullanabilirsiniz. Ancak çalışma zamanında konteyner yanlış yazılan komutu yoksayar ve bunun yerine görüntüden gelen varsayılan komutu çalıştırır.

    1. kubectl apply -f komutunu çalıştırmadan önce --validate parametresini ekleyin ve ardından kubectl apply --validate -f XXX.yaml komutunu çalıştırın.

      Command ifadesini commnd olarak yanlış yazarsanız XXX] unknown field: commnd XXX] this may be a false alarm, see https://gXXXb.XXX/6842pods/test şeklinde bir hata mesajı görürsünüz.

    2. Aşağıdaki komutu çalıştırın ve pod.yaml dosyasındaki çıktıyı podu oluşturmak için kullandığınız orijinal dosya ile karşılaştırın.

        kubectl get pods [$Pod] -o yaml > pod.yaml
      Not

      [$Pod] anormal durumdaki podun adıdır. Pod adını görüntülemek için kubectl get pods komutunu çalıştırabilirsiniz.

      • pod.yaml dosyası podu oluşturmak için kullandığınız dosyadan birkaç satır daha fazlaysa oluşturulan pod beklentilerinizle eşleşiyor demektir.

      • Orijinal dosyanızdan bir kod satırı pod.yaml dosyasında eksikse orijinal dosyanızda bir yazım hatası olduğunu gösterir.

  3. Sorunu gidermek için pod günlüklerini kontrol edin. Daha fazla bilgi için bkz. Pod günlüklerini kontrol edin.

  4. İçindeki yerel dosyaların beklendiği gibi olup olmadığını kontrol etmek için uçbirim üzerinden konteynere erişin. Daha fazla bilgi için bkz. Uçbirim kullanarak bir konteynere bağlanın.

Pod Terminating durumundadır

Neden

Pod kapatılıyor.

Belirti

Pod durumu Terminating şeklindedir.

Çözüm

Terminating durumundaki bir pod belirli bir gecikme süresinden sonra otomatik olarak silinir. Takılı kalırsa zorla silmek için aşağıdaki komutu çalıştırın:

kubectl delete pod [$Pod] -n [$namespace] --grace-period=0 --force

Pod OOM sorunlarını giderme

Neden

Bir konteyner bellek sınırını aştığında sistem OOM (Bellek Yetersizliği) olayıyla onu sonlandırır ve beklenmedik bir çıkışa neden olur. OOM olayları hakkında daha fazla bilgi için bkz. Konteynerlere ve Podlara Bellek Kaynakları Atama.

Belirti

  • Sonlandırılan süreç engelleyici bir süreçse konteyner beklenmedik şekilde yeniden başlatılabilir.

  • Bir OOM sorunu oluşursa konsoldaki pod ayrıntıları sayfasında Events sekmesi pod was OOM killed OOM olayını görüntüler.

Çözüm

  1. Sorunun ne zaman oluştuğunu belirlemek için pod izleme verilerindeki bellek artış eğrisini inceleyin. Daha fazla bilgi için bkz. Pod izleme verilerini kontrol edin.

  2. İzleme verilerine, bellek artış zaman çizelgesine, günlüklere ve süreç adlarına dayanarak ilgili süreçte bellek sızıntısı olup olmadığını kontrol edin.

    • OOM bir süreç bellek sızıntısından kaynaklanıyorsa uygulamanıza göre kök nedeni giderin.

    • Süreç normal çalışıyorsa iş yükü ihtiyaçlarınıza göre podun bellek sınırını artırın. Bir podun gerçek bellek kullanımının bellek sınırının %80'ini aşmamasını öneririz. Daha fazla bilgi için bkz. Podları yönetme.