Multi-shard auto-scalable Kubernetes setup

Hi all!

We are currently working on a scalabe Kubernetes setup for Jitsi. We have found a lot of valuable information in this forum and therefore also want to contribute to that.

Our setup is open source and can be found on Github: https://github.com/schul-cloud/jitsi-deployment

Feel free to use any of the resources there!

We have managed to setup Jitsi Meet in a multi-shard multi-JVB environment on a single Kubernetes cluster. In addition to that we also have monitoring (kube-prometheus), logging (ECK), and certificate handling (cert-manager) in place.

Our general architecture is pictured here: https://raw.githubusercontent.com/schul-cloud/jitsi-deployment/master/docs/architecture/build/jitsi_meet.png

We would also appreciate pointing out any issues that you can find!

3 Likes

Thank you for sharing this ! How many users and simultaneous connections are you handling ? What has been your maximum ?

We have done some load testing on our setup. The results are documented at https://github.com/schul-cloud/jitsi-deployment/blob/master/docs/loadtests/loadtestresults.md

2 Likes

Thank you!

Hi @wolfm89,
It is the best documentation of Jitsi in Kubernetes ever created in this community. :slight_smile:

How many JVB maximum is being set in your K8S cluster and how we can customize this number? By the way, do you plan to scale jibri in your K8S deployment as well?

Thank you,

Hello I am raising jitsi meet in cluster eks, following your documentation but I have the following error when I deploy service-per-pod-decoratorcontroller

no matches for kind “DecoratorController” in version "metacontroller.k8s.io/v1alpha1"

Hi Janto,
Thank you for your kind words!
The maximum (and minimum) number of JVB instances per shard is set in the configuration of the HPA (Horizontal Pod Autoscaler) in the overlays: e.g. for our dev environment https://github.com/schul-cloud/jitsi-deployment/blob/master/overlays/development/jitsi-base/jvb-hpa-patch.yaml
Just increase the number of maxReplicas there.

Unfortunately we’re not planning to integrate Jibri for now. But it would be great to see some results if you manage to get that working, too!

Hmm… I can only guess because I haven’t seen this error before. It looks like as if the custom resource “DecoratorController” is not available. It should be available after applying the MetaController kustomization.yaml in https://github.com/schul-cloud/jitsi-deployment/tree/master/base/ops/metacontroller