I set up a deployment of storm nimbus and another deployment of storm supervisor (and a UI), but supervisor dies because it can't resolve nimbus... which always registers itself with the pod FQDN:
2018-06-06 17:07:01.935 o.a.s.n.NimbusInfo main [INFO] Nimbus figures out its name to storm-nimbus-hl874
As you can see that's the pod name in the replicationcontroller, and it can't be resolver by other pods...
Supervisor config has the proper address for a headless service I created, which is resolvable and connectable, but once it starts it queries the nimbus name from Zookeeper and that is the FQDN, ignoring the values (nimbus seeds) in the config file. So I assume that the nimbus seeds aren't actually a way to tell supervisor or the UI where to find a nimbus.
Not sure how to fix that or if there is a workaround.
I could create a statefulset with a headless service in which both the pod and the service had the same name, but that looks really ugly.
Here's where Nimbus figures out its hostname https://github.com/apache/storm/blob/c9b73a5e3ffcfc458772100dc6bd62ad1cf468de/storm-client/src/jvm/org/apache/storm/nimbus/NimbusInfo.java#L56
You should be able to set https://github.com/apache/storm/blob/master/storm-client/src/jvm/org/apache/storm/Config.java#L1108 to override it.