PowerFlex: HTTP-sonde mislyktes med statuskode: 503

Zusammenfassung: Denne artikkelen forklarer et problem der keycloak-0 pod rapporterer en tilstandskontroll feil på grunn av database tilkoblingsproblemer forårsaket av feil DNS-konfigurasjon. Dette problemet påvirker godkjenningstjenester som administreres av keycloak ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

En av de to Keycloak pods (her keycloak-0) opplever tilkoblingsproblemer med databasen, mens keycloak-1 forblir funksjonell.

Hendelseslogger viser gjentatte feil ved beredskapssonde.

# 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 pod-loggene indikerer en feil ved anskaffelse av JDBC-tilkoblinger på grunn av et tidsavbrudd for anskaffelse:

# 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"}}]}

 

Innvirkning

Godkjenningsforespørsler som håndteres av keycloak-0 mislykkes, noe som forårsaker uregelmessige eller fullstendige godkjenningsfeil for PFMP.
Keycloak Health Check rapporterer kontinuerlig en DOWN status, noe som påvirker høy tilgjengelighet.

Ursache

Problemet oppstår på grunn av feil DNS-konfigurasjon.

JDBC-tilkoblingen som brukes av keycloak Hvis du vil koble til databasen, er det avhengig av å løse vertsnavnet eller endepunktet for databasen.

Enhver feilkonfigurasjon eller feil i vertsnavnsløsingen kan føre til tidsavbrudd når du prøver å opprette en tilkobling. 

Lösung

1) Reparer DNS-konfigurasjonen i henhold til operativsystemdokumentasjonen

a) Hvis RedHat eller CentOS v7, x eller v8, x,

i) Rediger /etc/resolv.conf for å oppdatere riktig DNS-server på hver MgmtVMs (MVM)

ii) Slett coredns pods (rke2-coredns-rke2-coredns-xxxxxxxxxx-xxxxx) for å overføre endringene i disse podene:

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) Kontroller at DNS-endringene nå gjenspeiles i coredns pods (det er 2 coredns pods ansvarlig for DNS): 

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) Hvis SLES v15.xog nyere, kan du kontakte kundestøtte for å følge artikkelen PowerFlex 4.x Slik oppdaterer du DNS-servere

2) Start på nytt keycloak Pods

kubectl rollout restart statefulset keycloak -n powerflex 

 

3) Overvåke keycloak Logger for eventuelle andre problemer med databasetilkobling 

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



Berørte versjoner

 Ikke et produktproblem

Produkte

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex appliance connectivity
Artikeleigenschaften
Artikelnummer: 000261288
Artikeltyp: Solution
Zuletzt geändert: 03 Jan. 2026
Version:  2
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.