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?
I operate a cluster, over 200 instances of
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
Deployments are not completely automated, but we are implementing some
Orchestration could be achieved, the base infrastructure has to be simplified.
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.