PowerFlex: HTTP yoklaması şu durum koduyla başarısız oldu: 503

Zhrnutie: Bu makalede, keycloak-0 kapsülünün yanlış bir DNS yapılandırmasının neden olduğu veritabanı bağlantı sorunları nedeniyle bir durum kontrolü hatası bildirdiği bir sorun açıklanmaktadır. Bu sorun, keycloak tarafından yönetilen kimlik doğrulama hizmetlerini etkilemektedir ...

Tento článok sa vzťahuje na Tento článok sa nevzťahuje na Tento článok nie je viazaný na žiadny konkrétny produkt. V tomto článku nie sú uvedené všetky verzie produktov.

Symptómy

İki Keycloak bölmesinden biri (burada keycloak-0) veritabanıyla ilgili bağlantı sorunları yaşarken keycloak-1 işlevsel kalır.

Olay günlüklerinde tekrarlanan hazırlık yoklaması hataları gösteriliyor.

# 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 kapsül günlükleri, bir edinme zaman aşımı nedeniyle JDBC bağlantılarının alınamadığını gösterir:

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

 

Etki

Tarafından işlenen kimlik doğrulama istekleri keycloak-0 başarısız olur ve PFMP için kesintili veya tam kimlik doğrulama hatalarına neden olur.
Keycloak sağlık kontrolü sürekli olarak bir DOWN durumu, yüksek kullanılabilirliği etkiler.

Príčina

Sorun, yanlış DNS yapılandırması nedeniyle oluşur.

Tarafından kullanılan JDBC bağlantısı keycloak Veritabanına bağlanmak için veritabanı ana bilgisayar adının veya uç noktasının çözümlenmesi gerekir.

Ana bilgisayar adı çözümlemesindeki herhangi bir yanlış yapılandırma veya hata, bağlantı kurmaya çalışırken zaman aşımlarına neden olabilir. 

Riešenie

1) DNS yapılandırmasını işletim sistemi belgelerine göre düzeltin

a) RedHat veya CentOS v7,x veya v8,x ise,

i) Düzenle /etc/resolv.conf her MgmtVM'lerde (MVM'ler) doğru DNS sunucusunu güncelleştirmek için

ii) Sil coredns bölmeler (rke2-coredns-rke2-coredns-xxxxxxxxxx-xxxxx) değişiklikleri bu bölmelere yaymak için:

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 değişikliklerinin artık coredns bölmeler (2 tane vardır) coredns DNS'den sorumlu bölmeler): 

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) SLES v15.xve üzeri ise, PowerFlex 4.x DNS Sunucularını Güncelleme makalesini takip etmek için destek ile iletişime geçin

2) Yeniden Başlat keycloak Bakla

kubectl rollout restart statefulset keycloak -n powerflex 

 

3) Monitör keycloak Ek veritabanı bağlantı sorunları için günlükler 

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



Etkilenen Sürümler

 Ürün sorunu değil

Produkty

PowerFlex rack, PowerFlex Appliance, PowerFlex custom node, ScaleIO, PowerFlex appliance connectivity
Vlastnosti článku
Číslo článku: 000261288
Typ článku: Solution
Dátum poslednej úpravy: 03 jan 2026
Verzia:  2
Nájdite odpovede na svoje otázky od ostatných používateľov spoločnosti Dell
Služby podpory
Skontrolujte, či sa na vaše zariadenie vzťahujú služby podpory.