Development

Install Jumpstarter on local Kubernetes clusters using kind or minikube. Ideal for learning about the service quickly or for validating Jumpstarter drivers in CI/CD pipelines. For production deployments, see Production.

Prerequisites

  • Docker or Podman installed

  • kubectl installed and configured

  • Administrator access to your cluster (required for CRD installation)

Install

The jmp admin CLI can create a local cluster and install Jumpstarter in a single command:

$ jmp admin create cluster

Warning

If automatic IP detection fails, check with jmp admin ip and use --ip to set your address manually.

Tip

By default, Jumpstarter uses kind if available. Use --minikube to force minikube instead.

$ jmp admin create cluster --kind

Options: --force-recreate, --skip-install, --extra-certs <PATH>, --kind-extra-args, custom cluster name as first argument.

$ jmp admin create cluster --minikube

Options: --force-recreate, --skip-install, --extra-certs <PATH>, --minikube-extra-args, custom cluster name as first argument.

Install on an Existing Cluster

Warning

Jumpstarter requires specific NodePort configurations. It is recommended to create a new cluster or use the automatic creation above.

$ jmp admin install --kind
$ jmp admin install --minikube

Verify

$ kubectl get pods -n jumpstarter-lab --watch

Configuration

Manual Cluster Setup

For more control, create the cluster yourself before installing:

Create a kind cluster config that enables NodePorts. Save as kind_config.yaml:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
kubeadmConfigPatches:
- |
  kind: ClusterConfiguration
  apiServer:
    extraArgs:
      "service-node-port-range": "3000-32767"
- |
  kind: InitConfiguration
  nodeRegistration:
    kubeletExtraArgs:
      node-labels: "ingress-ready=true"
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 80
    hostPort: 5080
    protocol: TCP
  - containerPort: 30010
    hostPort: 8082
    protocol: TCP
  - containerPort: 30011
    hostPort: 8083
    protocol: TCP
  - containerPort: 443
    hostPort: 5443
    protocol: TCP
$ kind create cluster --config kind_config.yaml
$ minikube start --extra-config=apiserver.service-node-port-range=8000-9000

Then follow the Production guide using a baseDomain appropriate for your local environment (for example, nip.io based hostnames).

Uninstall

$ jmp admin uninstall

To delete the local cluster completely:

$ jmp admin delete cluster --kind
$ jmp admin delete cluster --minikube

For complete documentation of all jmp admin options, see the MAN pages.