Configuring the recorder on Docker and Kubernetes instances

Each recorder instance requires access to a unique ALSA loop-back device on the host. To accomplish this, you must run a series of commands on any node that hosts a recorder pod.

This step is not required on AWS or GKE nodes, since the support is already enabled in the custom AMI and start-up script in the node launch templates, respectively.

On a single-node Kubernetes or Docker-compose deployment, you can run multiple recorder instances, but you must have an equal number of ALSA loopback devices on the node. For example, the following commands update the device settings to enable five recorders to execute on a node.
  • Configure five capture/playback interfaces
    
    echo "options snd-aloop enable=1,1,1,1,1 index=0,1,2,3,4" > /etc/modprobe.d/alsa-loopback.conf
    
  • Setup autoload the module.
    
    echo "snd_aloop" > /etc/modules-load.d/snd_aloop.conf
  • Load the module.
    
    modprobe snd-aloop
  • Check that the module is loaded.
    
    lsmod | grep snd_aloop

If you prefer to scale your worker nodes in a Kubernetes cluster, then you must have a single-node Kubernetes deployment setup. The autoscaler can help you manage the number of nodes in your cluster automatically based on resource demand. If you prefer to keep the recorder nodes on at all times, then you can have a fixed number of recorders running on that fixed number of nodes.

Note: Meeting recording consumes significant resources, particularly CPU resources. As a result, you should be cautious of over-committing resources to recording. Especially if you have a single-node Kubernetes deployment, high CPU consumption on the master node leads to a cluster outage.

Starting the Docker container with multiple recorders

By default, there is only one recorder instance available on a Docker deployment. To enable multiple recorders, you need to start the container with the --scale option specifying the desired number of recorders. In the following example, the number of virtual sound drivers loaded on startup is set to five.
docker-compose up -d --scale jibri=5

The following commands are an example of restarting when multiple recorders are active.

Run the following command to stop Docker.

docker-compose down
When multiple recorders are being used, run the following command before starting the Sametime server to avoid problems.

./CleanUpMultiJibri.sh
Use the following command to start Docker with the number of virtual sound divers specified. In the following example, five recorders are loaded.

docker-compose up -d --scale jibri=5