Asterisk Deployments Automation and Loadbalancer, docker?

I was wondering what most of you do for deploying large asterisk clusters. What kind of automation do you use?
Do you use docker images, ansible scripts, other? Or how do you populate the LoadBalancer dynamically, like Kamailio/OpenSips

Resources that you use/customized are always appreciated by the entire community.

Anybody doing deployment automation?

Thank you

I operate a cluster, over 200 instances of Asterisk.

The use of Containers like docker, is not suitable for our environment.

This is due to network segmentation challenges with the underlying network infrastructure of the Container hosts. Another complication is how a Container limits our monitoring capabilities, it’s difficult to monitor an Application inside of a Container. But we do periodically evaluate the use of Containers.

Deployments are not completely automated, but we are implementing some Orchestration.

Before any Orchestration could be achieved, the base infrastructure has to be simplified.

Each Asterisk instance in our environment, running on a dedicated VM, is essentially identical. A common configuration, where the OS network settings are manually set.

Once an instance is on-line, we replace /etc/asterisk with a symlink to an NFS mounted path. We use SVN version control to manage configuration files, and configuration file changes. While each instance of Asterisk is essentially identical, there are often cases where a specific instance may require some setting change.

[root@SERVER123 ~]# svn cp /home/mcat/BASE /home/mcat/SERVER123
[root@SERVER123 ~]# rm -Rf /etc/asterisk
[root@SERVER123 ~]# ln -s /home/mcat/etc/asterisk /etc/asterisk

Most of the Orchestration is handled with Asterisk Real-time Architecture (ARA). Database entries handle the Dial Plan and SIP Peers. Relying on the base configuration.

1 Like