I'm trying to modify the helm chart for solr such that it works for kubernetes (k8s) deployment correctly. There needs to be a particular change in the way solr resolves zookeepers hostname in order for this to happen.
Let me explain... The standard way to configure solr is by listing all the zookeeper hostname/IP in either: * solr.in.sh or solr.in.cmd * zoo.cfg * -z param For example: ZK_HOST="zk1:2181,zk2:2181,zk3:2181". However, when it comes to cloud deployment, in particular on k8s using helm chart, this is not an ideal situation as the user is required to modify zk_host each time they scale the number of zookeeper up/down. * For example (scale down): ZK_HOST="zk1:2181,zk2:2181". * For example (scale up): ZK_HOST="zk1:2181,zk2:2181,zk3:2181,zk4:2181". This cannot be done automatically using in helm/k8s. In k8s, this parameter should remain static, meaning that it should not be changed after deployment of the chart. * For example (k8s): ZK_HOST="zk-headless:2181". What a chart can do is to create a service with a DNS name such as zk-headless that contains all the IP of the zookeepers, and as zookeeper scales, the number of IP resolved from zk-headless changes. Could solr to resolve multiple zookeeper IPs from a single name? Cheers, Ween Jiann