Free Report! Gartner® Hype Cycle™ for Monitoring and Observability.Read more

Single Instance

Deploy BindPlane OP Server to Kubernetes


When BindPlane is deployed as a StatefulSet, it has the following architecture.

  • BindPlane as a Single pod.
    • Deployed as a StatefulSet.
    • BBolt storage backend using a persistent volume claim.
  • Prometheus time series database
    • Deployed as a StatefulSet.
    • Persistent storage using a persistent volume claim.
    • Prometheus is deployed and managed by the chart using observIQ's Prometheus image.
  • Single transform agent pod, for live preview.


BindPlane uses Prometheus as a storage backend for agent throughput metrics. It is unnecessary to manage Prometheus outside of the Helm chart.


System Requirements

  • Storage class which supports persistent volume claims (When running as a StatefulSet).


Add the BindPlane OP Helm chart to your workstation.

1helm repo add "bindplane" \
2    ""
4helm repo update

Create a values.yaml file, which will be used to configure your Helm deployment.

Add the initial options. Make sure to set the following:

  • config.username: Your basic auth username for the Administrator project.
  • config.password: Your basic auth password for the Administrator project.
  • config.sessions_secret: A random uuid. You can use uuidgen to create one.
2  # These options should be configured by
3  # the user.
4  username: ''
5  password: ''
6  sessions_secret: ''
9  type: bbolt
10  bbolt:
11    volumeSize: '120Gi'
14  # Request 2 cores and allow cpu bursting.
15  # Request fixed amount of memory, 8Gb.
16  requests:
17    cpu: '2000m'
18    memory: '8192Mi'
19  limits:
20    memory: '8192Mi'


Follow the the instance sizing guidelines when modifying the resource requests and limits.

Deploy BindPlane to the bindplane namespace using Helm and your previously created values.yaml configuration file.

1helm repo update
3helm upgrade \
4    --values="values.yaml" \
5    --namespace=bindplane \
6    --create-namespace \
7    --install \
8    bindplane \
9    bindplane/bindplane

After a few moments, check the namespace by running kubectl -n bindplane get pod. You will see three pods.

1NAME                                        READY   STATUS    RESTARTS   AGE
2bindplane-0                                 1/1     Running   0          3m42s
3bindplane-prometheus-0                      1/1     Running   0          3m42s
4bindplane-transform-agent-f5c6fb575-5cgtr   1/1     Running   0          3m42s

Frequently Asked Questions

Q: Why is the StatefulSet limited to one pod?

A: BindPlane is limited to a single instance when configured with local storage. See the BindPlane Deployment Installation documentation for details on how to deploy BindPlane OP using a scalable architecture.