Openshift: OCP-päivityksen esitarkistus epäonnistui kuivajuoksun tyhjennyssolmuvirheen vuoksi

Summary: OCP-päivityksen esitarkistus epäonnistui kuivarun tyhjennyssolmun virheen vuoksi, koska jotakin virtuaalikonetta ei voi siirtää reaaliaikaisesti tai jotakin podia ei voi häätää.

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-esitarkistuksen aikana voi ilmetä kuivakäyttöisen tyhjennyssolmun vika, joka estää LCM-prosessin.
image.png

Virhesanoma voi sisältää muun muassa seuraavat tilanteet:
  • Tilanne 1: "VMI XXXXXX on konfiguroitu häätöstrategialla, mutta se ei ole elävä siirtokelpoinen."
  • Tilanne 2: "Ei voi häätää podia, koska se rikkoisi podin häiriöbudjettia."
  • Tilanne 3: "Pods xxx" ei löydy tuotteelle pod:xxxxxxxxxxxx

Cause

Skenaarion 1 perimmäinen syy: Virtuaalikoneeseen on määritetty ReadWriteOnce (RWO) -tallennustaltio, jota ei voi siirtää reaaliaikaisesti virheraportointisolmuun.

Skenaarion 2 perimmäinen syy: Podin "PodDistruptionBudget" -asetus on "minAvailable: 1", Se estää podin häätöprosessin.

Senario 3: n perimmäinen syy: Openshift-ajoitettu työ käynnistää podin ja pod lopetetaan, kun työ on valmis. Joten on mahdollista, että podia ei löydy esitarkistuksen kuiva-ajon tyhjennyssolmuvaiheen aikana.

Resolution

Skenaarion 1 tarkkuus

1. Pysäytä virtuaalikoneilmentymä ennen kuin muutat sen PV-asetuksia.
image.png

2. Napsauta virtuaalikonetta ja vaihda YAML-välilehteen.
image.png
image.png

3. Vaihda accessMode-tila "ReadWriteOnce" -tilasta "ReadWriteMany" -tilaan.
image.png

4. Jos PV:tä ei voi määrittää arvoon ReadWriteMany (virtuaalikone ei voi alkaa käyttää ReadWriteManya), aseta häätöstrategia arvosta "LiveMigrate" arvoon "Ei mitään".
image.png
Huomautus: Tee joko ympäristöösi liittyvä vaihe 3 tai 4, sinun ei tarvitse tehdä molempia vaiheita.

5. Valitse Save ja käynnistä virtuaalikone uudelleen.
image.png

6. Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.
 


Skenaarion 2 tarkkuus

Tee jokin seuraavista ympäristöä koskevista toimenpiteistä.

Menettely 1: Poista manuaalisesti podit/podit, joita ei voi häätää.
  • Suorita alla oleva komento poistaaksesi podit/podit, joita ei voi häätää, ja anna niiden luoda uudelleen eri solmuissa.
$ oc delete pod <pod_name> -n <pod_namespace>
  • Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.


Menettely 2: Jos podia ei voi poistaa manuaalisesti, korjaa se pod, jonka "PodDisruptionBudget" on määritetty "minAvailable: 1"
  • Tarkista podin "PodDisruptionBudget" arvo suorittamalla alla oleva komento
Esimerkki:
$ oc get pdb <pdb_name> -n <pod_namespace> 
 
NAME         MIN AVAILABLE   MAX UNAVAILABLE   ALLOWED DISRUPTIONS   AGE
<pdb_name>   1               N/A               0                     18h
 
  • Jos komennon tulos näyttää "MIN AVAILABLE" on "1", korjaa PodDisruptionBudget minAvailable -arvoksi "0" alla olevalla komennolla.
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":0}}'
  • Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.
  • Odota, kunnes päivitys on valmis ja MCO on käytettävissä, tarkista alla olevalla komennolla, että kaikki on kunnossa.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
Esimerkki:
image.png
 
  • Kun OCP-päivitys on valmis, palauta PodDisruptionBudget minAvailable -arvoksi 1
$ oc patch pdb <pdb_name> -n <pod_namespace> --type=merge -p '{"spec":{"minAvailable":1}}'



Menettely 3: Jos podin korjausvirhe "PodDisruptionBudget.policy "<pdb_name>" ei kelpaa: spec: Käyttö estetty: poddisruptionbudget-tietojen päivittäminen on kielletty.", voit kiertää ongelman noudattamalla alla olevia ohjeita.
  • Varmuuskopioi PodDisruptionBudget, jonka määrityksenä on "minAvailable: 1"
$ oc get pdb <pdb_name> -n <pod_namespace> -o yaml > <pdb_name>_backup.yaml
 
  • Irrota PodDisruptionBudget, jonka määrityksenä on "minAvailable: 1"
$ oc delete pdb <pdb_name> -n <pod_namespace>
 
  • Yritä LCM-esitarkistusta uudelleen ja jatka päivitystä.
  • Odota, kunnes päivitys on valmis ja MCO on käytettävissä, tarkista alla olevalla komennolla, että kaikki on kunnossa.
$ watch -n10 "oc get clusterversion; echo; oc get mcp; echo; oc get nodes -o wide; echo; oc get co"
Esimerkki:
image.png
 
  • Kun OCP-päivitys on valmis, palauta yaml-varmuuskopiotiedosto.
$ oc create -f <pdb_name>_backup.yaml -n <pod_namespace>

 

Skenaarion 3 tarkkuus

Yritä vain LCM-esitarkistusta uudelleen, sen pitäisi läpäistä tällä kertaa.

Additional Information

Katso Openshift-asiakirjan alta lisätietoja virtuaalikonelevyjen tallennusasemista.

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ță.