PowerFlex: HTTP 프로브가 statuscode와 함께 실패했습니다. 503

Samenvatting: 이 문서에서는 keycloak-0 Pod가 잘못된 DNS 구성으로 인한 데이터베이스 연결 문제로 인해 상태 점검 실패를 보고하는 문제에 대해 설명합니다. 이 문제는 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

두 개의 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

 

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 실패하여 PFMP에 대한 간헐적 또는 완전한 인증 실패가 발생합니다.
Keycloak 상태 점검은 지속적으로 DOWN 상태, 고가용성에 영향을 줍니다.

Oorzaak

이 문제는 잘못된 DNS 구성으로 인해 발생합니다.

다음에서 사용하는 JDBC 연결 keycloak 데이터베이스에 연결하려면 데이터베이스 호스트 이름 또는 엔드포인트를 확인해야 합니다.

호스트 이름 확인에서 구성 오류 또는 장애가 발생하면 연결을 설정하려고 할 때 시간 초과가 발생할 수 있습니다. 

Oplossing

1) 운영 체제 설명서에 따라 DNS 구성 수정

a) RedHat 또는 CentOS v7,x 또는 v8,x인 경우,

i) 편집 /etc/resolv.conf 각 MVM(MgmtVM)에서 올바른 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를 담당하는 Pod): 

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.