Hello,
Alex already provided more context - just some additional notes:
You could of course put Kamailio in a container without using k8s, this is something that
several people are doing. Just using it as deployment tool, to have a uniform management
for operations etc.. You usually have it run in host network mode.
You can also do that for rtpengine. For full performance you want to operate it in kernel
mode, which means that you need to run it as privileged container with host network. The
rtpengine will need to load kernel modules on the host. In the future there might be
something like media streaming mesh, but this seems to be still in development.
These are of course no blocker against deploying it on k8s, just making it harder to get
the benefits.
Cheers,
Henning
-----Original Message-----
From: calvine(a)gmail.com <calvine(a)gmail.com>
Sent: Mittwoch, 29. März 2023 18:43
To: sr-users(a)lists.kamailio.org
Subject: [SR-Users] Re: Rancher, AWS, and Elastic IP
I usually recommend considering if you really need to
do it, the
(added) large complexity is in most cases not worth the (small) benefit.
I don't disagree. There's an ongoing "containerize all the things"
effort here, and Kamailio may need to be exempt from that considering how much traffic a
single instance can potentially handle. The minimum requirement is active/backup failover
with a floating IP, despite the chance that an Elastic IP might not move
"instantly". It's the internal network Kamailio is talking to that actually
benefits from containerization.
If you want to go for it anyway, one way of doing it
is just binding
the public IP(s) to individual Kamailio instances. Using an IP load
balancer to have multiple Kamailio server behind a single IP only works in limited
scenarios (stateless).
Is there an AWS-ism that lets an IP follow a pod but doesn't assign it to the worker
node itself? The thought of putting a worker node in a public subnet makes me
uncomfortable.
It's been my understanding that Kamailio clustering would solve life behind a load
balancer? This is the part where I'm hesitant to follow guidance from ten year old
blog posts and YouTube videos and need to grok the current state of clustering. I'm
working with the presumption that call state can be stored externally, i.e. Redis, and any
node could handle any messages from any dialog. Similarly for rtpengine. "Is this the
real life? / Is this just fantasy?"
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to
sr-users-leave(a)lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe: