Needed Tools: docker, kubectl, podman, minikube
At first, you have to prepare your local container enviroment. We are using podman in this exercise, so please use the following guideline to get your environment ready:
- Install podman desktop (https://podman-desktop.io/downloads)
- Run the following command to setup a VM:
podman machine init --cpus=8 --memory=10000 --disk-size=100
podman machine set --rootful
podman machine start
podman system connection default podman-machine-default-root
- Setup minikube
minikube start --driver=podman --container-runtime=cri-o --cpus=8 --memory=8g
eval $(minikube podman-env)
and verify that your kubernetes environment is ready:
kubectl cluster-info
- Setup istio Download istio
curl -L https://raw.githubusercontent.com/istio/istio/master/release/downloadIstioCandidate.sh | sh -
, add it to your path
export PATH="$PATH:/Users/I573021/Documents/hska-vis-legacy/istio-1.17.2/bin"
and run a precheck for your minikube environment
istioctl x precheck
If it runs successful, install istio to your cluster with
istioctl install
- Install Prometheus und Grafana
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.17/samples/addons/grafana.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.17/samples/addons/prometheus.yaml
To start grafan ui, run
istioctl dashboard grafana
- Install Kiali
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.17/samples/addons/kiali.yaml
To use Kiali, run
kubectl port-forward svc/kiali 20001:20001 -n istio-system
Run the following command to build the docker images:
./build_images_with_minikube.sh
The build process will also push the images to the local minikube cluster.
Setup an ingress controller with
minikube addons enable ingress
Now apply kubernetes configuration to your local cluster
kubectl apply -f kube/
Use
minikube tunnel
to create a tunnel for your service. The legacy shop should now be accessible under
http://127.0.0.1/EShop-1.0.0