Skip to content

fix: Redis 클러스터 부트스트랩 노드를 설정 호스트로 고정

redis-py 기본값 dynamic_startup_nodes=True 는 첫 CLUSTER SLOTS 직후 startup_nodes 를 디스커버리된 파드 IP 로 통째로 교체하면서(remove_old=True) 설정에 넣은 서비스 DNS 호스트를 목록에서 지운다. 그 뒤로는 재초기화 때도 DNS 를 다시 해석하지 않고 캐시된 옛 파드 IP 만 순회한다.

dev 에서 08-05 22:34(UTC) 노드풀 교체로 dop-ai-redis-cluster 파드 6개의 IP 가 한꺼번에 바뀌자, 그 이전에 기동한 file 파드의 클라이언트가 전멸한 IP 목록만 붙잡고 "Redis Cluster cannot be connected. Please provide at least one reachable node" 로 모든 publish 를 실패시켰다. 캐시된 IP 중 10.16.0.24 는 다른 네임스페이스 파드에 재할당돼 Connection refused 로 관측됐다. 파드를 재시작하기 전까지 자가복구되지 않는다.

dynamic_startup_nodes=False 로 고정해 매 재초기화마다 서비스 DNS 를 다시 해석하게 한다.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

Merge request reports