OpenShift Forhåndskontrol af OCP-opgradering mislykkedes på grund af fejl med dryrun-drænnode

Summary: Forhåndskontrol af OCP-opgradering mislykkedes pga. fejl med dryrun-drænnode, fordi nogle VM ikke kan overføres live, eller fordi en pod ikke kan fjernes.

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

Under LCM-forkontrol kan der være en fejl i dryrun-drænnoden, som blokerer LCM-processen.
image.png

Fejlmeddelelsen kan omfatte, men er ikke begrænset til, følgende scenarier:
  • Scenarie 1: "VMI XXXXXX er konfigureret med en fjernelsesstrategi, men kan ikke migreres via live."
  • Scenarie 2: "Kan ikke fjerne pod, da det ville overtræde pod'ens afbrydelsesbudget."
  • Scenarie 3: "pods xxx" blev ikke fundet for pod:xxxxxxxxxxxx

Cause

Grundårsag til scenarie 1: VM'en er konfigureret med ReadWriteOnce(RWO)-lagerdiskenheden, der ikke kan overføres live på fejlrapporteringsnoden.

Scenarie 2 grundlæggende årsag: Pod'ens "PodDistruptionBudget"-indstilling konfigureres som "minAvailable: 1", Det vil blokere pod udsættelse proces.

Senario 3 grundårsag: Det planlagte Openshift-job starter en pod, og pod'en afsluttes, når jobbet er fuldført. Så der er en chance for, at poden ikke kan findes under precheck dryrun dræning knude trin.

Resolution

Løsning i scenarie 1

1. Stop VM-forekomsten, før du ændrer dens PV-indstillinger.
image.png

2. Klik på VM'en, og skift til fanen YAML.
image.png
image.png

3. Skift accessModes fra "ReadWriteOnce" til "ReadWriteMany".
image.png

4. Hvis PV ikke kan indstilles til ReadWriteMany (VM'en kan ikke begynde at bruge ReadWriteMany), skal du indstille fjernelsesstrategi fra "LiveMigrate" til "None".
image.png
Bemærk: Udfør enten trin 3 eller 4, der gælder for dit miljø. Du behøver ikke at udføre begge trin.

5. Klik på Gem, og genstart VM'en.
image.png

6. Prøv at forhåndskontrollere LCM'en igen, og fortsæt opgraderingen.
 


Løsning i scenarie 2

Udfør en af følgende procedurer, der gælder for dit miljø.

Procedure 1: Slet manuelt den eller de pods, der ikke kan fjernes.
  • Kør nedenstående kommando for at slette pod / pods, der ikke kan fjernes, og lad dem genskabe i forskellige noder.
$ oc delete pod <pod_name> -n <pod_namespace>
  • Prøv at forhåndskontrollere LCM'en igen, og fortsæt opgraderingen.


Procedure 2: Hvis pod'en ikke kan slettes manuelt, skal du rette den pod, hvis "PodDisruptionBudget" er konfigureret som "minAvailable: 1"
  • Kør nedenstående kommando for at kontrollere pod'ens "PodDisruptionBudget"-værdi
F.eks.:
$ oc get pdb <pdb_name> -n <pod_namespace> 
 
NAME         MIN AVAILABLE   MAX UNAVAILABLE   ALLOWED DISRUPTIONS   AGE
<pdb_name>   1               N/A               0                     18h
 
  • Hvis kommandooutputtet viser "MIN AVAILABLE" er "1", skal du patche PodDisruptionBudget minAvailable-værdien til "0" ved nedenstående kommando.
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":0}}'
  • Prøv at forhåndskontrollere LCM'en igen, og fortsæt opgraderingen.
  • Vent, indtil opgraderingen er færdig, og MCO er tilgængelig, kør nedenstående kommando for at kontrollere, at alt er godt.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
F.eks.:
image.png
 
  • Når OCP-opgraderingen er fuldført, skal du gendanne værdien PodDisruptionBudget minAvailable til "1"
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":1}}'



Procedure 3: Hvis rettelse af pod-hitfejlen "PodDisruptionBudget.policy "<pdb_name>" er ugyldig: spec: Forbudt: opdateringer til poddisruptionbudgetspecifikationer er forbudt.", skal du følge nedenstående trin for at løse problemet.
  • Sikkerhedskopier PodDisruptionBudget, som er konfigureret med "minAvailable: 1"
$ oc get pdb <pdb_name> -n <pod_namespace> -o yaml > <pdb_name>_backup.yaml
 
  • Fjern PodDisruptionBudget, som er konfigureret med "minAvailable: 1"
$ oc delete pdb <pdb_name> -n <pod_namespace>
 
  • Prøv at forhåndskontrollere LCM'en igen, og fortsæt opgraderingen.
  • Vent, indtil opgraderingen er færdig, og MCO er tilgængelig, kør nedenstående kommando for at kontrollere, at alt er godt.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
F.eks.:
image.png
 
  • Når OCP-opgraderingen er fuldført, skal du gendanne backup-yaml-filen.
$ oc create -f <pdb_name>_backup.yaml -n <pod_namespace>

 

Løsning til scenarie 3

Prøv blot LCM precheck igen, det skulle passere denne gang.

Additional Information

Se nedenfor Openshift-dokument for at få flere oplysninger om lagerdiskenheder til virtuelle maskiner.

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

Affected Products

APEX Cloud Platform for Red Hat OpenShift
Article 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.