PowerFlex: HTTP-sonde mislyktes med statuskode: 503

概要: 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 ...

この記事は次に適用されます: この記事は次には適用されません: この記事は、特定の製品に関連付けられていません。 すべての製品パージョンがこの記事に記載されているわけではありません。

現象

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.

原因

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. 

解決方法

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

製品

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex appliance connectivity
文書のプロパティ
文書番号: 000261288
文書の種類: Solution
最終更新: 03 1月 2026
バージョン:  2
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。