Hi Tim. Thanks much for your response, and I appreciate your suggestions. Discussion inline.

On 2017-10-31 12:24 am, 'Tim Hockin' via Kubernetes user discussion and Q&A wrote:
On Mon, Oct 30, 2017 at 7:56 PM, David Rosenstrauch <dar...@darose.net> wrote:
The problem is that the way the system is currently built (out of my control
- depends on idiosyncrasies of a piece of 3rd party software) these
micro-services have to operate more like "pets" than "cattle".

This is obviously different from the way most micro-service
systems work, where each individual instance is pretty much identical to any
other

This is not THAT uncommon.  The typical answer is to create a Service
per Pod.  Obviously this doesn't scale very well if you have hundreds
of replicas, but if you have a small (and stable) number of pods that
each need a public IP, this works.

You can do it with either a NodePort or a LoadBalancer, but you need
to set up different labels on each pod, so it's not fully automated.

Yes, this technically would work. But, as you indicated, it really isn't scalable. A big reason for us to move to k8s is so that we can just quickly scale up to replicate 5 or 10 instances of a particular pod. That wouldn't be possible in this scenario, as I'd have to manually create 5 or 10 different services. So yes, doable, but not really a great solution IMO.


What I've been trying to do is find a way for *each* of these individual instances of a micro-service to get assigned a public ip/port, rather than just assigning one single public ip/port that points to a load balancer in front of them. But I don't see any way to do this properly in Kubernetes.

If you need this to be elastic, you might want a custom controller, or
it might be something StatefulSet could handle.

You can always do this.  All the built-in controllers are just clients
of the Kubernetes API.  It's pretty easy to write your own to do
whatever you need.

Thanks for the suggestions on StatefulSet and custom controllers - I'll read up on them a bit more.


Best,

DR

--
You received this message because you are subscribed to the Google Groups "Kubernetes 
user discussion and Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to kubernetes-users+unsubscr...@googlegroups.com.
To post to this group, send email to kubernetes-users@googlegroups.com.
Visit this group at https://groups.google.com/group/kubernetes-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to