Платформа управления PowerFlex. keycloak-0 регистрирует сбой HTTP-зонда с кодом состояния: 503

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

Данная статья применяется к Данная статья не применяется к Эта статья не привязана к какому-либо конкретному продукту. В этой статье указаны не все версии продуктов.

Симптомы

Сценарий

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

 

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

# 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 указывают на сбой получения 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 Сбой, приводящий к периодическим или полным сбоям аутентификации для платформы управления PowerFlex.
keycloak Служба диагностики системы постоянно сообщает о том, что DOWN состояние, влияющее на высокую доступность.

 

Причина

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

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

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

Разрешение

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и выше, обратитесь в службу поддержки, чтобы следовать инструкциям в соответствии с внутренней статьей https://www.dell.com/support/kbdoc/en-us/000227354

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]



Продукты

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex appliance connectivity
Свойства статьи
Номер статьи: 000261288
Тип статьи: Solution
Последнее изменение: 03 Jan 2026
Версия:  2
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.