This page describes how to tear down a Vespa on Kubernetes deployment: first deleting a Vespa application,
and then deleting the VespaSet itself.
An application is deleted through the ConfigServers'
Deploy API, the same API used to deploy it.
Issue a DELETE request to the following endpoint on the ConfigServer HTTP port (19071),
reachable within the cluster through the cfg-internal Service —
see Configure External Access Layer:
DELETE /application/v2/tenant/default/application/default
The ConfigServers will remove all Pods belonging to the application — Container, Content, and
Cluster-Controller Pods — along with their PersistentVolumeClaims. The ConfigServer Pods and the
VespaSet remain, so a new application can be deployed onto the same infrastructure afterwards.
The deletion is complete once the application's Pods and PersistentVolumeClaims are gone:
$ kubectl get pods,pvc -n $NAMESPACE
Deleting the VespaSet removes the entire deployment, including the ConfigServers and any
remaining application Pods:
$ kubectl delete vespaset vespaset-sample -n $NAMESPACE
The VespaSet carries a finalizer, so the deletion is performed as an orchestrated cleanup by
the Operator rather than an immediate removal:
VespaSet is deleted. The dependent
resources owned by it — Services, PersistentVolumeClaims, and any operator-generated RBAC resources —
are then garbage-collected by Kubernetes.
The deletion is complete when the VespaSet resource and its Pods no longer exist:
$ kubectl get vespaset,pods -n $NAMESPACE