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.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
LCM ön denetimi sırasında, LCM işlemini tıkayan bir dryrun boşaltma düğümü hatası olabilir.
Hata mesajı, aşağıdaki senaryoları içerebilir ancak bunlarla sınırlı değildir:
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.
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.
2. VM'ye tıklayın ve YAML sekmesine geçin.
3. accessModes değerini "ReadWriteOnce" yerine "ReadWriteMany" olarak değiştirin.
4. PV ReadWriteMany olarak ayarlanamıyorsa (VM ReadWriteMany kullanımını başlatamıyorsa), evictionStrategy'yi "LiveMigrate" yerine "None" olarak ayarlayın.
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.
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:
- 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:
- 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.
Affected Products
APEX Cloud Platform for Red Hat OpenShiftArticle Properties
Article Number: 000216907
Article Type: Solution
Last Modified: 18 Feb 2026
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.