jitsi-deployment
jitsi-deployment copied to clipboard
please add installation of metacontoller to README
I suggest to include a more specific cluster specification to better define under what conditions this repo might be working. E.G. the metacontroller needs to be installed explicitly. This is not mentioned anywhere
https://metacontroller.github.io/metacontroller/guide/install.html
Installing it like this helped me to finish the kubectl apply -f build step
kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/metacontroller/master/manifests/metacontroller.yaml
@uvwild metacontroller
actually is being included here https://github.com/hpi-schul-cloud/jitsi-deployment/tree/master/base/ops/metacontroller
The ops/
folder is included only in the development-monitoring
and production-monitoring
overlays.
Keep in mind that the GoogleCloudPlatform/metacontroller
repo has been deprecated in favor of the dedicated https://github.com/metacontroller/metacontroller repo where you can find the latest version.
Hello - I am running into the same issue. Do we need to deploy the monitoring components first and then jitsi?
same here. how do we install this add-on? do we need to run this before we run your kustomize yaml files?
kubectl apply -k https://github.com/metacontroller/metacontroller/manifests/production
The answer comes a little late, but I hope it still helps someone.
The documentation is a bit confusing about this issue as the metacontroller maintainers have migrated their official repositories from google dependencies to their own repos.
The problem comes from the fact that for some reason the repository does not have all the base resources (like role bindings, statefulsets, etc) for metacontroller to create properly the Kubernete's CustomResourceDefinition components (in this case they are used to define the service-per-pod-controller
mechanisms to scale JVB instances.
To fix this you should run the following commands before deploy any Jitsi resources on your cluster:
# Install Metacontroller custom resources
# https://docs.primehub.io/docs/getting_started/install_metacontroller
# These custom resources supports the creation of custom controllers
# for JVB services (service-per-pod-controller).
kubectl apply -f https://raw.githubusercontent.com/metacontroller/metacontroller/master/manifests/production/metacontroller-namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metacontroller/metacontroller/master/manifests/production/metacontroller-rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/metacontroller/metacontroller/master/manifests/production/metacontroller-crds-v1.yaml
kubectl apply -f https://raw.githubusercontent.com/metacontroller/metacontroller/master/manifests/production/metacontroller.yaml
Finally you can check if all metacontroller dependencies were successfully inside your cluster executing:
kubectl get crd | grep metacontroller
Then you should get something like this if everything is ok:
compositecontrollers.metacontroller.k8s.io 2023-06-16T18:33:35Z
controllerrevisions.metacontroller.k8s.io 2023-06-16T18:33:36Z
decoratorcontrollers.metacontroller.k8s.io 2023-06-16T18:33:37Z
You should also get rid of any metacontroller namespace definitions within the repo to avoid breaking the metacontroller resources you have previously installed and manage this whole process in a specific script to prepare your cluster to deploy Jitsi's resources.
Expected output after deploying Jitsi:
namespace/jitsi created
configmap/jvb-entrypoint created
configmap/jvb-shutdown created
configmap/prosody created
configmap/web created
secret/jitsi-config created
service/shard-0-prosody created
service/shard-1-prosody created
service/web created
deployment.apps/shard-0-jicofo created
deployment.apps/shard-0-prosody created
deployment.apps/shard-0-web created
deployment.apps/shard-1-jicofo created
deployment.apps/shard-1-prosody created
deployment.apps/shard-1-web created
horizontalpodautoscaler.autoscaling/shard-0-jvb-hpa created
horizontalpodautoscaler.autoscaling/shard-1-jvb-hpa created
decoratorcontroller.metacontroller.k8s.io/shard-0-pod-name-label created
decoratorcontroller.metacontroller.k8s.io/shard-0-service-per-pod created
decoratorcontroller.metacontroller.k8s.io/shard-1-pod-name-label created
decoratorcontroller.metacontroller.k8s.io/shard-1-service-per-pod created
(...)
NOTE: As @kachar said you should use this installation guide (do not consider GoogleCloudPlatform/metacontroller documentation in this regard) : https://metacontroller.github.io/metacontroller/guide/install.html
NOTE2: Command shared by @r3k2 work in a more efficient way:
kubectl apply -k https://github.com/metacontroller/metacontroller/manifests/production
Cheers!