Setup a vircadia in Kubernates

Hi ,
I want to set up Vircadia in kubernates cluster. And expose the UI url via ngnix. Can you please help me the process regarding that ?

Well, I’m currently working on a Kubernetes deployment but it’s slow and coming. What UI are you looking to expose via nginx? Is this related to the web api?

Thanks,First i want to install vircadia in kubernates cluster and access the vircadia both developer and end user UI from outside. Currently i dont have that configuration in my system to use Vircadia locally.

So please help me in the steps from where i should create docker image and which yamls i should use to deploy ?

Or is there any other process we can use vircadia without installing in our system?

You have a Kubernetes cluster already and you want to install Vircadia? There is no yaml that I can provide you. What I am working with is experimental and still a work in progress.

You probably should spend some time learning Kubernetes first… what it is, how it works and how developers use it. With that knowledge you can build out Vircadia on your own… without that knowledge you are likely just going to be disappointed in the end.

You can study other deployments and see how they deploy Docker containers…

The most crucial part is networking and you are going to have to learn how to use a service mesh…

You will also need to execute the commands to run the domain server and assignment clients… that will be in your yaml… Define a Command and Arguments for a Container | Kubernetes

You can see these commands here in this script I wrote: VircadiaDeploy/bootstrap.sh at main · Colorfingers/VircadiaDeploy · GitHub

Instead of “docker exec -u vircadia domainserver ./opt/vircadia/domain-server” you will run it with bash, “bash -l -c /opt/vircadia/domain-server” you will launch the assignment clients in a similar way.

You can see an example here on how to launch your container Deploy to Kubernetes | Docker Documentation

In this example on this page and you want to change

image: getting-started

with

image: colorfingers/vircadia-server-u20.04:2022.1.1_selene

then you need to identify all the ports and make sure they are included. You can find them listed here… Notice there are two parts, a service and a deployment. That’s an important distintion.

VircadiaDeploy/Dockerfile at main · Colorfingers/VircadiaDeploy · GitHub

Which reminds me you will need to provide a configmap for those environmental variables…

You will want to ensure these are in the same namespace which is listed in the yaml files you create…

You will create a namespace with the command

kubectl create namespace mynamspace

There is nothing magical once you have these things in place… you just deploy Vircadia running the command:

kubectl apply -f mydeployment.yaml
kubectl apply -f myconfigmap.yaml

These are the basics and you need to know how that works… I may create a Helm chart in the future for people to use but I don’t want to release anything half baked.

good luck… let us know how it goes.