/hska-vis-legacy

This project is the quick setup of the legacy webshop of the masters course 'Distributed Information Systems' at the University of Applied Sciences (Karlsruhe).

Primary LanguageVisual Basic 6.0MIT LicenseMIT

Distributed Information Systems Laboratory aka vis-lab

Needed Tools: docker, kubectl, podman, minikube

Install and start the environment

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:

  1. Install podman desktop (https://podman-desktop.io/downloads)
  2. 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
  1. 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
  1. 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
  1. 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
  1. 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

Build ans run kubernetes

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