- clone the repository into a local directory
git clone https://github.com/Jayliu227/EdgeExperiment.git
- start minikube and docker
minikube start
- navigate to EdgeServer folder and build docker images
cd EdgeServer/
bash build.sh
This would first remove any docker images with the same name and rebuild them using the dockerfile provided in the same folder. Then it will make sure minikube can access docker local registry. Any time when you make changes to the code, this needs to be done again.
- start deployment in kubernetes
cd ../LaunchTools/
python3 launch.py boot <number_of_edge_servers>
python3 launch.py createsvc
This will create exactly one backend server and whatever number of edge servers you passed in. You need to create service after creating those pods.
- port forwarding Since minikube is run inside a virtual machine, we need to manually forward the service port.
kubectl get svc
This will show the external port exposed to the outside, and we need to go into VirtualBox (if you are using other hypervisor, do the same thing) and set network forwarding correctly.
- figure out minikube's ip
minikube ip
We need to update the ip address in EdgyVisualization Unity project's EdgeClient.cs
- use launch.py 'launch.py' has some helper functionalities to help manage the current state of the cluster and debug each pod.