PowerFlex:HTTP probe failed with statuscode: 503

Samenvatting: この記事では、誤ったDNS構成によって引き起こされたデータベース接続の問題が原因で、keycloak-0ポッドがヘルス チェックの失敗を報告する問題について説明します。この問題は、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

2つのKeycloakポッドのうちの1つ(ここでは keycloak-0)でデータベースとの接続の問題が発生しますが、 keycloak-1 引き続き機能します。

イベント ログには、readiness probe failuresが繰り返し表示されます。

# 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ポッドのログには、取得タイムアウトによる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 failが発生し、PFMPの認証が断続的または完全に失敗します。
Keycloakヘルス チェックでは、継続的に DOWN ステータスに影響し、高可用性に影響を与えます。

Oorzaak

この問題は、DNS構成が正しくないために発生します。

によって使用されるJDBC接続 keycloak データベースへの接続は、データベースのホスト名またはエンドポイントの解決に依存しています。

ホスト名解決の設定ミスや障害があると、接続を確立しようとしたときにタイムアウトが発生する可能性があります。 

Oplossing

1)オペレーティング システムのドキュメントに従ってDNS構成を修正します

a) RedHat または CentOS v7,x または v8,x の場合

i) 編集 /etc/resolv.conf 各MgmtVM (MVM)の正しいDNSサーバーをアップデートします

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 ポッド (2 つの coredns 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)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]



問題が発生するバージョン

 製品の問題ではない

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.