PowerFlex. Сбой проверки HTTP с кодом состояния: 503

Summary: В этой статье описывается проблема, при которой модуль keycloak-0 сообщает о сбое диагностики системы из-за проблем с подключением к базе данных, вызванных неправильной конфигурацией DNS. Эта проблема затрагивает сервисы проверки подлинности, управляемые 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

Один из двух модулей Keycloak (здесь keycloak-0) испытывает проблемы с подключением к базе данных, в то время как keycloak-1 остается работоспособным.

В журналах событий отображаются повторяющиеся сбои проб готовности.

# 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

 

Журналы pod keyclak указывают на сбой при установлении JDBC-соединений из-за тайм-аута захвата:

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

 

Воздействие

Запросы на аутентификацию, обрабатываемые keycloak-0 завершается сбоем, что приводит к периодическим или полным сбоям аутентификации для PFMP.
Keycloak health check постоянно сообщает о том, что DOWN состояние, влияющее на высокую доступность.

Cause

Проблема возникает из-за неправильной конфигурации DNS.

JDBC-соединение, используемое keycloak Для подключения к базе данных необходимо разрешение имени узла или конечной точки базы данных.

Любая неправильная конфигурация или сбой в определении имен хостов могут привести к истечению времени ожидания при попытке установить подключение. 

Resolution

1) Исправьте конфигурацию DNS в соответствии с документацией операционной системы.

a) Если RedHat или CentOS v7,x или v8,x,

i) Редактировать /etc/resolv.conf чтобы обновить правильный DNS-сервер на каждой управляемой виртуальной машине (MVM)

ii) Удалите файл coredns Стручки (rke2-coredns-rke2-coredns-xxxxxxxxxx-xxxxx), чтобы распространить изменения на эти модули:

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) Проверка того, что изменения DNS теперь отражены в coredns pods (есть 2 coredns pod, отвечающие за 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

 

б) Если SLES v15.xи выше, обратитесь в службу поддержки, чтобы получить доступ к следующей статье PowerFlex 4.x Как обновить DNS-серверы

2) Перезапуск keycloak Стручки

kubectl rollout restart statefulset keycloak -n powerflex 

 

3) Монитор keycloak Ведение журналов для любых дополнительных проблем с подключением к базе данных 

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ță.