In this guide all the steps to reproduce the DEMO in a local environment.
- Operating System: Linux with Kernel >= 4.9.17 or MacOS
- Docker installed
- kubectl >= 1.22 installed
- Minikube installed
- Helm installed
- Minimum 8GB RAM
Check the Minikube start Guide for instructions on how to install minikube on your system. If you are using the provided virtual machine minikube is already installed.
For a complete overview refer to the helm installation website. If you have helm 3 already installed you can skip this step.
Use your package manager (apt
, yum
, brew
etc), download the latest Release or use the following command to install helm helm:
curl -s https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
git clone https://github.com/Vista-Technology/idi2022-extra-cilium-service-mesh-demo.git
cd idi2022-extra-cilium-service-mesh-demo/manifests
minikube start --network-plugin=cni --cni=false --kubernetes-version=1.23.1 -p servicemesh
cilium install --version -service-mesh:v1.11.0-beta.1 --config enable-envoy-config=true --kube-proxy-replacement=probe
kubectl apply -f backend1.yaml
kubectl apply -f backend2.yaml
for i in {1..10}; do
kubectl run --rm=true -it --image=curlimages/curl --restart=Never curl -- curl http://backend-1:8080/private
done
for i in {1..10}; do
kubectl run --rm=true -it --image=curlimages/curl --restart=Never curl -- curl http://backend-2:8080/private
done
for i in {1..10}; do
kubectl run --rm=true -it --image=curlimages/curl --restart=Never curl -- curl http://backend-1:8080/public
done
for i in {1..10}; do
kubectl run --rm=true -it --image=curlimages/curl --restart=Never curl -- curl http://backend-2:8080/public
done
kubectl apply -f l7-network-policy.yaml
for i in {1..10}; do
kubectl run --rm=true -it --image=curlimages/curl --restart=Never curl -- curl http://backend-1:8080/public
done
kubectl apply -f envoyconfig.yaml
for i in {1..10}; do
kubectl run --rm=true -it --image=curlimages/curl --restart=Never curl -- curl http://backend-1:8080/private
done