Fix: Publish DNS for not-ready pods via the headless service #115
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For clustering/discovery purpose, we use the headless service of the StatefulSet today. It'll provide a DNS entry for every pod of the StatefulSet. Qdrant pods use this specific DNS name as --uri, so that's what's communicated to each peer. By default the service will only provide DNS name when the pod is ready. So if a pod is not ready, other peers cannot reach it. But we should change the service to always provide DNS for a pod, regardless it's readiness, using .spec.publishNotReadyAddresses=true to allow cluster-internal traffic.