This demo was presented at DevopsDday in the Velodrome, Marseilles' famous stadium. Here are the slides, in French. Or a similar English version.
For a step-by-step walk-through, read this.
- Kubernetes or OpenShift cluster running (ex: minikube 0.27+ / minishift)
- Istio with Kiali installed
- Repo cloned locally (actually, only YML files are necessary)
Below instructions are given for OpenShift, but this is almost the same with standard Kubernetes.
Just replace oc
with kubectl
, ignore oc expose
, ignore the oc adm policy
stuff.
For OpenShift users, you may have to grant extended permissions for Istio, logged as admin:
oc new-project mesh-arena
oc adm policy add-scc-to-user privileged -z default
Without runtimes metrics & tracing:
oc apply -f <(istioctl kube-inject -f full.yml)
With runtimes metrics:
oc apply -f <(istioctl kube-inject -f full-metrics.yml)
With tracing:
oc apply -f <(istioctl kube-inject -f full-tracing.yml)
With everything:
oc apply -f <(istioctl kube-inject -f full-metrics-tracing.yml)
oc expose service ui
oc delete deployments -l project=mesh-arena
oc delete svc -l project=mesh-arena
oc delete virtualservices -l project=mesh-arena
oc delete destinationrules -l project=mesh-arena
For the first build, it is necessary to get the JS dependencies on your filesystem:
cd services/ui/src/main/resources/webroot/
npm install
# back to project root
cd -
Then build everything:
# Trigger maven build + docker builds
# Ex: for docker namespace "myname" and tag "dev"
./buildall.sh myname dev
Then update all the deployment YAML to have the correct docker tag on images
./gentemplate.sh