Piattaforma di gestione PowerFlex: keycloak-0 registra un errore della sonda HTTP con statuscode: 503

Summary: Questo articolo illustra un problema in cui il pod keycloak-0 segnala un errore di controllo integrità a causa di problemi di connettività del database causati da una configurazione DNS errata. Questo problema interessa i servizi di autenticazione gestiti da keycloak ...

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

Scenario

Uno dei due pod Keycloak (qui keycloak-0) riscontra problemi di connettività con la banca dati, mentre keycloak-1 rimane funzionante.

 

Event I registri mostrano ripetuti errori della sonda di predisposizione.

# 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

Il driver keycloak I registri pod indicano un errore nell'acquisizione delle connessioni JDBC a causa di un timeout di acquisizione:

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

Impatto

Richieste di autenticazione gestite da keycloak-0 causare errori di autenticazione intermittenti o completi per la piattaforma di gestione PowerFlex.
keycloak Il controllo integrità segnala continuamente un DOWN con impatto sull'high availability.

 

Cause

Il problema si verifica a causa di una configurazione DNS errata.

La connessione JDBC utilizzata da keycloak La connessione al database si basa sulla risoluzione del nome host o dell'endpoint del database.

Qualsiasi configurazione errata o errore nella risoluzione dei nomi host può causare timeout quando si tenta di stabilire una connessione. 

Resolution

1) Correggere la configurazione DNS in base alla documentazione del sistema operativo

a) Se RedHat o CentOS v7,x o v8,x,

i) Modifica /etc/resolv.conf per aggiornare il server DNS corretto su ogni MVM (MgmtVMs)

ii) Cancellare il coredns cialde (rke2-coredns-rke2-coredns-xxxxxxxxxx-xxxxx) per propagare le modifiche a tali pod:

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) Verificare che le modifiche DNS si riflettano ora in coredns cialde (ci sono 2 coredns pod responsabili del 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) Se SLES v15.xe versioni successive, contattare il supporto per seguire l'articolo interno https://www.dell.com/support/kbdoc/en-us/000227354

2) Riavvia keycloak Baccelli

kubectl rollout restart statefulset keycloak -n powerflex 

3) Monitorare keycloak Registri per eventuali problemi aggiuntivi di connettività del database 

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



Produse

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex appliance connectivity
Proprietăți articol
Article Number: 000261288
Article Type: Solution
Ultima modificare: 03 ian. 2026
Version:  2
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ță.