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.
I operate a cluster, over 200 instances of Asterisk.
The use of Containerslike docker, is not suitable for our environment.
This is due to network segmentationchallenges with the underlying network infrastructure of the Container hosts. Another complication is how a Containerlimits our monitoring capabilities, it’s difficult to monitor an Application inside of a Container. But we doperiodically evaluate the use of Containers.
Deployments are not completely automated, but we are implementing some Orchestration.
Before anyOrchestration 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 OSnetwork settings are manually set.
Once an instance is on-line, we replace /etc/asterisk with a symlink to an NFS mounted path. We use SVNversion 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.
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.