Local cluster with minikube¶
If you want to play with the Jumpstarter Controller on your local machine, we recommend running a local Kubernetes cluster.
Warning
We do not recommend a local cluster for a production environment. Please use a full Kubernetes installation either on-prem or in the cloud.
minikube is a tool for running local Kubernetes clusters using local VMs or Podman/Docker container “nodes”, it works across several platforms and can be used with different hypervisors.
You can find more information on the minikube website.
Installation¶
Start a minikube cluster¶
First, we must start a local minikube cluster with the correct features enabled to support Jumpstarter.
# We must expand the default NodePort range to include the Jumpstarter ports
minikube start --extra-config=apiserver.service-node-port-range=8000-9000
Install Jumpstarter with Helm¶
Tip
If you do not have Helm installed, please install the latest release.
# Get the minikube cluster IP address
export IP=$(minikube ip)
# Setup the base domain and endpoints with nip.io
export BASEDOMAIN="jumpstarter.${IP}.nip.io"
export GRPC_ENDPOINT="grpc.${BASEDOMAIN}:8082"
export GRPC_ROUTER_ENDPOINT="router.${BASEDOMAIN}:8083"
# Install the Jumpstarter service in the namespace jumpstarter-lab with Helm
helm upgrade jumpstarter --install oci://quay.io/jumpstarter-dev/helm/jumpstarter \
--create-namespace --namespace jumpstarter-lab \
--set global.baseDomain=${BASEDOMAIN} \
--set jumpstarter-controller.grpc.endpoint=${GRPC_ENDPOINT} \
--set jumpstarter-controller.grpc.routerEndpoint=${GRPC_ROUTER_ENDPOINT} \
--set global.metrics.enabled=false \
--set jumpstarter-controller.grpc.nodeport.enabled=true \
--set jumpstarter-controller.grpc.nodeport.port=8082 \
--set jumpstarter-controller.grpc.nodeport.routerPort=8083 \
--set jumpstarter-controller.grpc.mode=nodeport \
--version=0.5.0