PowerFlex: HTTP-mittapää epäonnistui tilakoodilla: 503

Samenvatting: Tässä artikkelissa kerrotaan ongelmasta, jossa keycloak-0-pod ilmoittaa kuntotarkastuksen epäonnistumisesta virheellisen DNS-määrityksen aiheuttamien tietokannan yhteysongelmien vuoksi. Tämä ongelma vaikuttaa Keycloakin hallitsemiin todennuspalveluihin ...

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Symptomen

Toinen kahdesta Keycloak-podista (tässä keycloak-0) ilmenee yhteysongelmia tietokannan kanssa, kun taas keycloak-1 pysyy toimivana.

Tapahtumalokeissa näkyy toistuvia valmiusanturin virheitä.

# kubectl get pods -n powerflex | egrep keycloak
keycloak-0                                                1/1     Running     0               22d
keycloak-1                                                1/1     Running     0               22d

# kubectl get events | egrep kube
Events:
  Type     Reason     Age                 From     Message
  ----     ------     ----                ----     -------
  Warning  Unhealthy  12m (x58 over 17h)  keycloak-0  Readiness probe failed: HTTP probe failed with statuscode: 503

 

Keycloak-podin lokit ilmaisevat, että JDBC-yhteyksiä ei ole hankittu hankinnan aikakatkaisun vuoksi:

# kubectl get logs keycloak-0 -n powerflex
..
2024-11-27 07:01:41,593 INFO  [org.infinispan.CLUSTER] (non-blocking-thread--p2-t126) [Context=actionTokens] ISPN100010: Finished rebalance with members [keycloak-0-17437, keycloak-1-41022], topology id 7
2024-11-27 07:31:03,379 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (Timer-0) SQL Error: 0, SQLState: null
2024-11-27 07:31:03,379 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (Timer-0) Acquisition timeout while waiting for new connection
2024-11-27 07:31:03,384 ERROR [org.keycloak.services.scheduled.ScheduledTaskRunner] (Timer-0) Failed to run scheduled task ClearExpiredEvents: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection
        at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
        at java.base/java.util.TimerThread.run(Timer.java:506)
Caused by: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection  <---------
..
Caused by: java.sql.SQLException: Acquisition timeout while waiting for new connection  <--------- 
.. 
Caused by: java.util.concurrent.TimeoutException  <--------- 
..
2024-11-27 09:31:03,476 INFO  [io.smallrye.health] (executor-thread-15) SRHCK01001: Reporting health down status: {"status":"DOWN","checks":[{"name":"Keycloak database connections health check","status":"DOWN","data":{"Failing since":"2024-11-27 07:31:03,477"}}]}
2024-11-27 09:56:03,477 INFO  [io.smallrye.health] (executor-thread-15) SRHCK01001: Reporting health down status: {"status":"DOWN","checks":[{"name":"Keycloak database connections health check","status":"DOWN","data":{"Failing since":"2024-11-27 07:31:03,477"}}]}

 

Vaikutus

Todennuspyynnöt käsittelee keycloak-0 epäonnistuu, mikä aiheuttaa ajoittaisia tai täydellisiä virheitä PFMP:n todennuksessa.
Keycloakin kuntotarkastus antaa jatkuvasti DOWN tila, joka vaikuttaa korkeaan käytettävyyteen.

Oorzaak

Ongelma johtuu virheellisistä DNS-määrityksistä.

JDBC-yhteys, jota käyttää keycloak Yhteyden muodostaminen tietokantaan edellyttää tietokannan isäntänimen tai päätepisteen selvittämistä.

Mikä tahansa virheellinen määritys tai epäonnistuminen isäntänimen selvityksessä voi aiheuttaa aikakatkaisuja yhteyden muodostamisen yhteydessä. 

Oplossing

1) Korjaa DNS-määritykset käyttöjärjestelmän ohjeiden mukaisesti

a) Jos RedHat tai CentOS v7,x tai v8,x,

i) Muokkaa /etc/resolv.conf päivittääksesi oikean DNS-palvelimen kussakin MgmtVM:ssä (MVM)

ii) Poistetaan coredns palot (rke2-coredns-rke2-coredns-xxxxxxxxxx-xxxxx) kyseisten palojen muutosten levittämiseksi:

for x in `kubectl get pods -n kube-system | grep -i rke2-coredns-rke2-coredns | awk '{print $1}' | grep -iv auto`; do kubectl delete pods -n kube-system $x; done

 

iii) Varmista, että DNS-muutokset näkyvät nyt coredns palot (on 2 coredns DNS: stä vastaavat podit): 

for x in `kubectl get pods -n kube-system | grep -i rke2-coredns-rke2-coredns | awk '{print $1}' | grep -iv auto`; do echo $x; kubectl exec -it $x -n kube-system -- cat /etc/resolv.conf; echo " "; done

 

b) Jos SLES v15.xtai uudempi, ota yhteyttä tukeen seuraamalla artikkelia PowerFlex 4.x DNS-palvelinten päivittäminen

2) Käynnistä uudelleen keycloak Palot

kubectl rollout restart statefulset keycloak -n powerflex 

 

3) Näyttö keycloak Lokit mahdollisista tietokannan yhteysongelmista 

kubectl logs keycloak-0 -n powerflex [-f]
kubectl logs keycloak-1 -n powerflex [-f]



Versiot, joita ongelma koskee

 Ei tuoteongelma

Producten

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex appliance connectivity
Artikeleigenschappen
Artikelnummer: 000261288
Artikeltype: Solution
Laatst aangepast: 03 jan. 2026
Versie:  2
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.