Deploy a DSS instance locally on Minikube¶
This section provide instructions to prepare a local minikube cluster.
Minikube is going to take care of most of the work by spawning a local kubernetes cluster.
Getting started¶
Prerequisites¶
Download & install the following tools to your workstation:
- Install minikube (First step only).
- Install tools from Prerequisites
Create a new minikube cluster¶
- Run
minikube start -p dss-local-clusterto create a new cluster. - Run
minikube tunnel -p dss-local-clusterand keep it running to expose LoadBalancer services.
If needed, you can change the name of the cluster (dss-local-cluster in this documentation) as needed. You may also deploy multiple cluster at the same time, using different names.
Access to the cluster¶
Minikube provide a UI, should you want to keep track of deployment and/or inspect the cluster. To start it, use the following command:
minikube dashboard -p dss-local-cluster
You can also use any other tool as needed. You can switch to the cluster's context by using the following command:
kubectl config use-context dss-local-cluster
Upload or update local image¶
Should you want to run the local docker image that you built, run the following commands to upload / update your image
minikube image -p dss-local-cluster push interuss-local/dss
In the helm charts, use docker.io/interuss-local/dss:latest as image and be sure to set the imagePullPolicy to Never.
Deployment of the DSS services¶
You can now deploy the DSS services using Helm or Tanka. See the repository /deploy/services for more information.
Minikube specific settings:
- Use the
global.cloudProvidersetting with the valueminikubeand deploy the charts on thedss-local-clusterkubernetes context.
An example configuration is provided in the repository: /deploy/services/tanka/examples/minikube
To access the service, find the external IP using the kubectl get services dss-dss-gateway command. The port 80, without HTTPs is used.
Clean up¶
To delete all resources, run minikube delete -p dss-local-cluster. Note that this operation can't be reverted and all data will be lost.