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@gmail.com calvine@gmail.com Sent: Mittwoch, 29. März 2023 18:43 To: sr-users@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@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: