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.
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
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.
Produse afectate
APEX Cloud Platform for Red Hat OpenShiftProprietăț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ță.