Enterprise Not open source: This functionality is only available commercially.

Vespa on Kubernetes

Vespa applications can be deployed and managed on Kubernetes through the Vespa Operator. The Vespa Operator provides a native Kubernetes experience for managing Vespa infrastructure and applications:

  • Declarative configuration through the VespaSet Custom Resource
  • Automated deployment, upgrades, and failure handling for Vespa infrastructure and applications
  • Built-in integration with Kubernetes-native tooling for monitoring, log collection, and TLS

Architecture

Vespa Operator Architecture

The Vespa Operator is an implementation of the Operator Pattern that extends Kubernetes with custom orchestration capabilities for Vespa. It relies on a Custom Resource Definition called a VespaSet, which represents a quorum of ConfigServers in a Kubernetes namespace. The Vespa Operator is responsible for the deployment and lifecycle of the VespaSet resource and its ConfigServers, which collectively entails the infrastructure for Vespa on Kubernetes.

Application Packages are deployed to the ConfigServers to create Vespa applications. The ConfigServers will dynamically instantiate the services as individual Pods based on the settings provided in the Application Package. After an Application Package is deployed, the ConfigServers will remain responsible for the management and lifecycle of the Vespa application.

Documentation

  • Operations — deploy and operate Vespa on Kubernetes: installation, permissions, lifecycle management, upgrades, and resource scaling.
  • Configuration — configure storage, logging, external access, custom overrides, TLS, and monitoring.
  • Reference — reference documentation for the VespaSet CRD and the Helm chart.