Aracılığıyla paylaş


Kapsayıcı bellek sınırları sorunlarını giderme

Bu makalede kapsayıcı bellek sınırlarıyla ilgili sorun giderme hakkında bilgi edinin.

Bellek sınırları için uyarılar

Hatalardan OOMKill yeniden başlatan Kubernetes podlarını aramak için Azure Operatör Nexus kümesi için ayarlanmış uyarılarınız olmasını öneririz. Bu uyarılar, sunucudaki bir bileşenin uygun şekilde çalışıp çalışmadiğini size bildirir.

Aşağıdaki tabloda, bellek sınırlarını tanımlamak için kullanıma sunulan ölçümler listelenir.

Ölçüm adı Açıklama
Kapsayıcı Yeniden Başlatmaları kube_pod_container_status_restarts_total
Kapsayıcı Durumu Sonlandırılan Neden kube_pod_container_status_terminated_reason
Kapsayıcı Kaynak Sınırları kube_pod_container_resource_limits

Ölçüm, Container Status Terminated Reason etkilenen podların nedenini görüntüler OOMKill .

Yetersiz Bellek (OOM) podlarını tanımlama

yeniden başlatan veya gösteren OOMKillbileşenleri tanımlayarak başlayın.

  • Sağlıklı bir <bareMetalMachineName> Bare Metal Makine kaynağının adını control-plane ile değiştirerek kubectl komutunu yürütün.
  • run-read-command özelliği hakkında daha fazla bilgi için BareMetal Run-Read Yürütme başlığına bakın.
az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
   --limit-time-seconds 60 \
   --commands "[{command:'kubectl get',arguments:[pods,-n,nc-system]}]" \
   --resource-group "<cluster_MRG>" \
   --subscription "<subscription>"

Bileşenler tanımlandığında, bir describe pod komut durumu ve yeniden başlatma sayısını belirleyebilir.

az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
   --limit-time-seconds 60 \
   --commands "[{command:'kubectl describe',arguments:[pod,<podName>,-n,nc-system]}]" \
   --resource-group "<cluster_MRG>" \
   --subscription "<subscription>"

Aynı zamanda bir get events komut, pod yeniden başlatma sıklığını görebilmeniz için geçmiş sağlayabilir.

az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
   --limit-time-seconds 60 \
   --commands "[{command:'kubectl get',arguments:[events,-n,nc-system,|,grep,<podName>]}]" \
   --resource-group "<cluster_MRG>" \
   --subscription "<subscription>"

Bu komutlardan alınan veriler nedeniyle podun yeniden başlatılıp başlatılmadığını OOMKilltanımlar.

Bellek sınırlarına düzeltme eki uygulama

Ayarlamalar ve destek için tüm bellek sınırı değişiklikleri için bir Microsoft destek isteği oluşturun.

Uyarı

Bir pod için bellek sınırlarına düzeltme eki uygulama kalıcı değildir ve pod yeniden başlatılırsa üzerine yazılabilir.

Bellek sınırı değişikliklerini onaylama

Bellek sınırları değiştiğinde podlar duruma geri dönmeli Ready ve yeniden başlatmayı durdurmalıdır.

Davranışı onaylamak için aşağıdaki komutları kullanın.

az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
   --limit-time-seconds 60 \
   --commands "[{command:'kubectl get',arguments:[pods,-n,nc-system]}]" \
   --resource-group "<cluster_MRG>" \
   --subscription "<subscription>"
az networkcloud baremetalmachine run-read-command --name "<bareMetalMachineName>" \
   --limit-time-seconds 60 \
   --commands "[{command:'kubectl describe',arguments:[pod,<podName>,-n,nc-system]}]" \
   --resource-group "<cluster_MRG>" \
   --subscription "<subscription>"

OOM sorunlarına karşı bilinen hizmetler

  • cdi işleci
  • güvenlik açığı işleci
  • küme-meta-veri-operatörü