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.
Fejlmeddelelsen kan omfatte, men er ikke begrænset til, følgende scenarier:
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.
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.
2. Klik på VM'en, og skift til fanen YAML.
3. Skift accessModes fra "ReadWriteOnce" til "ReadWriteMany".
4. Hvis PV ikke kan indstilles til ReadWriteMany (VM'en kan ikke begynde at bruge ReadWriteMany), skal du indstille fjernelsesstrategi fra "LiveMigrate" til "None".
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.
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.:
- 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.:
- 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.
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.