# Development (Kubernetes)
# Local setup
This section describes the steps that are required to deploy and run ALEX on a local kubernetes cluster.
# Prerequisites
- Install docker, minikube, kubectl, helm and skaffold.
- Start minikube:
minikube start. - Install necessary add-ons:
minikube addons enable ingress && \ minikube addons enable ingress-dns1
2 - Add a host alias to the
/etc/hostsfile: Executeminikube ipto get the IP address of the local cluster and add an entry<ip> alexto the/etc/hostsfile. - Install secret:
kubectl apply -f infrastructure/helm-chart/secrets-local.yaml - Install Keda:
helm repo add kedacore https://kedacore.github.io/charts && helm repo updatekubectl create namespace kedahelm install keda kedacore/keda --namespace keda
# Deploy ALEX to Minikube
- Ensure you use the local minikube kubernetes context:
kubectl config use-context minikube - In the root of the repository, run
skaffold dev -p localto execute the deployment. - Open
http://alexin a Web browser.
# Remote setup
This section describes the steps that are required to deploy and run ALEX on a remote kubernetes cluster.
# Prerequisites
- Install microk8s on a server.
- Enable the following add-ons:
microk8s enable dns ingress registry storage. - Copy the cluster details from
microk8s kubectl config viewto the local/.kube/configfile.
# Deploy ALEX to a remote cluster
- Create a file
./helm-chart/values-temp.yaml, and set the necessary properties (seevalues-local.yaml). - Switch to the kubernetes context of the cluster that you have entered earlier:
kubectl config use-context <context>. - In the root of the repository, execute
skaffold run -p tempto deploy the app.