Hi Tom, I recall using a docker container on my machine that was running Storm nimbus and Storm supervisors and through a port mapping between the container and my machine, I was able to upload topologies to the cluster through localhost:6627 What kind of client operations are you referring to?
On Sun, 14 Mar 2021 at 10:23, Thomas Cooper <tom.n.coo...@gmail.com> wrote: > Hi, > > I am working on a prototype Kubernetes (K8s) operator for Storm. I have > everything up and running inside K8s, which in my case is an instance of > minikube [1] running on my local laptop. I have set up a service to point > to the Nimbus node (there is only 1 at the moment) and in my case I have > forwarded this service to a port on my dev machine (eg: localhost:6627), > but this could equally be mydomain.com:6627. > > The issue of course is that Nimbus' internal address does not match this > external one. So when I run the storm client CLI on my local machine, the > client code [2] asks for the Nimbus leader info and returns the > internal address, which is what I want to happen for the workers etc but > not for this external client which needs to use localhost:6627. > > I was wondering if there is already a way to deal with this situation? My > search through the docs and code hasn't found an obvious one. > > I did think that one possible solution would be to provide some kind of > override on the external client side that would provide the nimbus.seeds > external equivalents and have the client use this new > "advertised.nimbus.seeds" config instead. They could be a seperate list in > the same order as the nimbus seeds and the external client could swap them > out like for like? > > A more headyweight option may be to implement code in the Nimbus HA > cluster to forward certain admin commands to the leader (as every member of > the cluster should know who that is). If that functionality existed we > could then create a load balanced service that would fire the admin > commands at any Nimbus node and not need to return the Leader address to > the client at all. > > I would love to hear people's opinions on the above (hopefully there is > already a solution to this). > > [1] https://minikube.sigs.k8s.io/docs/ > [2] > https://github.com/apache/storm/blob/0859cd191715a09f5c84e781e3d0e3ca89e60654/storm-client/src/jvm/org/apache/storm/utils/NimbusClient.java#L222 > > Cheers, > > Tom Cooper > tomcooper.dev | @tomncooper <https://twitter.com/tomncooper> >