This repo is a small setup for running a test vespa cluster on kubernetes with kind for testing slightly more complex Vespa cluster setup.
It's main purpose is to serve as a test cluster for the vscode-vespa plugin.
- kind
- (optional) k9s - Good tool for managing your K8s cluster
- (optional) vscode-vespa - Vscode plugin to run Vespa YQL queries against your vespa clusters.
The kind-config.yaml sets up 5 node cluster with one controller and 4 worker nodes.
K8S_NAME="vespa-test-cluster"
# If cluster already exist just delet it :-)
kind delete cluster --name "${K8S_NAME}"
kind create cluster \
--name "${K8S_NAME}" \
--config kind-config.yaml
kubectl apply -f k8s/
The vscode-vespa plugin needs to access the 19071, 19050 and 8080 ports of the vespa config nodes.
./k8s-forward-ports.sh
kubectl delete -f k8s/
# Get the PVCs and delete them as they are persisted across K8s restarts.
kubectl get pvc
kubectl delete pvc ...
cd /path/to/the/vespa-application
# Creates target/application.zip
mvn -DskipTests=true package
# Deploy the application
curl --header Content-Type:application/zip --data-binary @target/application.zip \
localhost:19071/application/v2/tenant/default/prepareandactivate