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.