Expose k8s topology labels to Solr PODs
- Dominant language
- Go
- Stars
- 283
- Forks
- 148
- PR merge metrics
- No merged PRs in 30d
Description
We support topologySpreadConstraint in #350, so Solr PODs are spread across AZs. But for Solr to be able to place replicas across AZs with the [Affinity placement plugin](https://solr.apache.org/guide/solr/latest/configuration-guide/replica-placement-plugins.html#affinityplacementfactory), Solr needs access to *node label* `topology.kubernetes.io/zone` as a java sysprop `availability_zone`.
This is non-trivial, as node labels are not exposed to PODs, and you'd need special permissions to fetch it from ApiServer. Instead of each user going through hoops of setting up Init containers to pull in this info, let's have the operator handle it and inject `topology.kubernetes.io/zone` as a system property into Solr.
Elastic has done a similar thing, referenced in https://the-asf.slack.com/archives/C01JR8WE1M5/p1669108868939589?thread_ts=1668633426.926589&cid=C01JR8WE1M5
Contributor guide
No contributing guide indexed for this repository
Research direction
Read the existing topologySpreadConstraint support referenced in #350, then trace how the operator configures Solr pods and system properties. Confirm how the Kubernetes zone label can be supplied as availability_zone; done means Solr receives the zone property without user-managed init containers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure, search
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100