Açık vardiya: OCP yükseltme ön denetimi, dryrun boşaltma düğümü hatası nedeniyle başarısız oldu

Summary: Bazı VM'ler canlı olarak geçirilemediği veya bazı bölmeler çıkarılamadığı için dryrun boşaltma düğümü hatası nedeniyle OCP yükseltme ön denetimi başarısız oldu.

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

Symptoms

LCM ön denetimi sırasında, LCM işlemini tıkayan bir dryrun boşaltma düğümü hatası olabilir.
image.png

Hata mesajı, aşağıdaki senaryoları içerebilir ancak bunlarla sınırlı değildir:
  • 1. Senaryo: "VMI XXXXXX bir çıkarma stratejisiyle yapılandırıldı, ancak canlı olarak geçirilemez."
  • 2. Senaryo: "Bölmenin kesinti bütçesini ihlal edeceği için bölme tahliye edilemez."
  • 3. Senaryo: "pods xxx", pod:xxxxxxxxxxxx için bulunamadı

Cause

Senaryo 1 kök neden: VM, hata raporlama düğümünde canlı olarak geçirilemeyen ReadWriteOnce (RWO) depolama birimi ile yapılandırılmıştır.

Senaryo 2 kök neden: Pod "PodDistruptionBudget" ayarı "minAvailable: 1", Bölme çıkarma işlemini engeller.

Senario 3 kök nedeni: Openshift zamanlanmış işi bir kapsül başlatır ve iş tamamlandıktan sonra pod sonlandırılır. Bu nedenle, ön kontrol dryrun boşaltma düğümü adımı sırasında pod'un bulunamama ihtimali vardır.

Resolution

Senaryo 1 çözümü

1. PV ayarlarını değiştirmeden önce VM örneğini durdurun.
image.png

2. VM'ye tıklayın ve YAML sekmesine geçin.
image.png
image.png

3. accessModes değerini "ReadWriteOnce" yerine "ReadWriteMany" olarak değiştirin.
image.png

4. PV ReadWriteMany olarak ayarlanamıyorsa (VM ReadWriteMany kullanımını başlatamıyorsa), evictionStrategy'yi "LiveMigrate" yerine "None" olarak ayarlayın.
image.png
Not: Lütfen ortamınız için geçerli olan 3. veya 4. adımı gerçekleştirin; iki adımı birden gerçekleştirmeniz gerekmez.

5. Save öğesine tıklayın ve sanal makineyi yeniden başlatın.
image.png

6. LCM ön denetimini yeniden deneyin ve yükseltme işlemine devam edin.
 


Senaryo 2 çözümü

Ortamınız için geçerli olan aşağıdaki prosedürlerden birini gerçekleştirin.

Prosedür 1: Çıkarılamayan pod/pod'ları manuel olarak silin.
  • Çıkarılamayan kapsülleri/pod'ları silmek ve farklı düğümlerde yeniden oluşturmalarını sağlamak için aşağıdaki komutu çalıştırın.
$ oc delete pod <pod_name> -n <pod_namespace>
  • LCM ön denetimini yeniden deneyin ve yükseltme işlemine devam edin.


Prosedür 2: Bölme el ile silinemiyorsa "PodDisruptionBudget" "minAvailable: 1"
  • Bölme "PodDisruptionBudget" değerini kontrol etmek için aşağıdaki komutu çalıştırın
Örneğin:
$ oc get pdb <pdb_name> -n <pod_namespace> 
 
NAME         MIN AVAILABLE   MAX UNAVAILABLE   ALLOWED DISRUPTIONS   AGE
<pdb_name>   1               N/A               0                     18h
 
  • Komut çıktısında "MIN AVAILABLE" değerinin "1" olduğu belirtiliyorsa aşağıdaki komutla PodDisruptionBudget minAvailable değerini "0" olarak düzeltin.
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":0}}'
  • LCM ön denetimini yeniden deneyin ve yükseltme işlemine devam edin.
  • Yükseltme bitene ve MCO kullanılabilir olana kadar bekleyin, her şeyin yolunda olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
Örneğin:
image.png
 
  • OCP yükseltmesi tamamlandıktan sonra PodDisruptionBudget minAvailable değerini "1" olarak geri yükleyin
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":1}}'



Prosedür 3: Pod isabet hatası "PodDisruptionBudget.policy "<pdb_name>" geçersizse: spec: Yasak: poddisruptionbudget teknik özelliklerinde güncellemeler yasaktır." iletisi alırsanız geçici çözüm için aşağıdaki adımları izleyin.
  • ile yapılandırılan PodDisruptionBudget'ı yedekleyin "minAvailable: 1"
$ oc get pdb <pdb_name> -n <pod_namespace> -o yaml > <pdb_name>_backup.yaml
 
  • ile yapılandırılan PodDisruptionBudget'ı kaldırın "minAvailable: 1"
$ oc delete pdb <pdb_name> -n <pod_namespace>
 
  • LCM ön denetimini yeniden deneyin ve yükseltme işlemine devam edin.
  • Yükseltme bitene ve MCO kullanılabilir olana kadar bekleyin, her şeyin yolunda olup olmadığını kontrol etmek için aşağıdaki komutu çalıştırın.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
Örneğin:
image.png
 
  • OCP yükseltmesi tamamlandıktan sonra yedek yaml dosyasını geri yükleyin.
$ oc create -f <pdb_name>_backup.yaml -n <pod_namespace>

 

Senaryo 3 çözümü

LCM ön denetimini yeniden denemeniz yeterlidir. Bu süreyi geçmesi gerekir.

Additional Information

Sanal makine disklerine yönelik depolama birimleri hakkında daha fazla bilgi için aşağıdaki Openshift belgesine bakın.

https://access.redhat.com/documentation/en-us/openshift_container_platform/4.13/html/virtualization/about-virt

Produse afectate

APEX Cloud Platform for Red Hat OpenShift
Proprietăți articol
Article Number: 000216907
Article Type: Solution
Ultima modificare: 18 sept. 2026
Version:  4
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.