PowerFlex: HTTP probe failed with statuscode: 503

Samenvatting: In dit artikel wordt een probleem uitgelegd waarbij de pod keycloak-0 een healthcheck-fout meldt als gevolg van problemen met de databaseconnectiviteit die worden veroorzaakt door een onjuiste DNS-configuratie. Dit probleem is van invloed op verificatieservices die worden beheerd door keycloak ...

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

Een van de twee Keycloak-pods (hier keycloak-0) ondervindt connectiviteitsproblemen met de database, terwijl keycloak-1 blijft functioneel.

Gebeurtenislogboeken tonen herhaalde fouten van de gereedheidstest.

# 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

 

De keycloak pod-logboeken geven aan dat JDBC-verbindingen niet kunnen worden opgehaald vanwege een time-out van de acquisitie:

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

 

Impact

Verificatieverzoeken afgehandeld door keycloak-0 mislukken, waardoor af en toe of volledige verificatiefouten voor het PFMP optreden.
Keycloak-statuscontrole rapporteert continu een DOWN hoge beschikbaarheid.

Oorzaak

Het probleem treedt op als gevolg van een onjuiste DNS-configuratie.

De JDBC-verbinding die wordt gebruikt door keycloak Om verbinding te maken met de database moet de hostnaam of het eindpunt van de database worden opgelost.

Elke verkeerde configuratie of fout in de hostnaamresolutie kan time-outs veroorzaken bij het tot stand brengen van een verbinding. 

Oplossing

1) Corrigeer de DNS-configuratie volgens de documentatie van het besturingssysteem

a) Indien RedHat of CentOS v7,x of v8,x,

i) Bewerken /etc/resolv.conf om de juiste DNS-server bij te werken op elke MgmtVM's (MVM's)

ii) Verwijder de coredns peulen (rke2-coredns-rke2-coredns-xxxxxxxxxx-xxxxx) om de wijzigingen in die pods door te geven:

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) Controleer of DNS-wijzigingen nu worden weergegeven in de coredns pods (er zijn 2 coredns pods verantwoordelijk voor 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) Indien SLES v15.xen hoger, schakelt u support in om het artikel PowerFlex 4.x over het bijwerken van DNS-servers te volgen

2) Start opnieuw op keycloak Peulen

kubectl rollout restart statefulset keycloak -n powerflex 

 

3) Beeldscherm keycloak Logboeken voor eventuele extra problemen met de databaseconnectiviteit 

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



Versies waarop dit van toepassing is

 Geen productprobleem

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.