BanyanDB Helm Chart repository provides ways to install and configure BanyanDB running in a cluster natively on Kubernetes.

Clone this repo:
  1. 27377d2 Prepare for release 0.7.0-rc1 (#70) by Gao Hongtao · 8 days ago master v0.7.0-rc1
  2. 176b770 feat(chart): add the canopy web console (#69) by Gao Hongtao · 9 days ago
  3. 9740954 Add trace-pipeline sampler plugin support to Helm chart (#68) by Gao Hongtao · 3 weeks ago
  4. 507b3a5 Validate generated resource names to avoid Kubernetes 63-byte limit errors (#67) by Gao Hongtao · 4 weeks ago
  5. cc2530d Prepare for release 0.7.0-rc0 (#66) by mrproliu · 6 weeks ago v0.7.0-rc0

Apache SkyWalking BanyanDB Helm Chart

BanyanDB, as an observability database, aims to ingest, analyze, and store Metrics, Tracing, and Logging data. It's designed to handle observability data generated by observability platforms and APM systems, like Apache SkyWalking etc.

BanyanDB Helm Chart repository provides ways to install and configure BanyanDB running in a cluster natively on Kubernetes. The scripts are written in Helm 3.

Chart Detailed Configuration

Introduction

This chart bootstraps an Apache Skywalking BanyanDB deployment on a Kubernetes cluster using the Helm package manager. The released versions of the helm chart can be found on Docker Hub.

Prerequisites

  • Kubernetes 1.24.0+
  • Helm 3

Installing the Chart

image.tag is the required value for the chart.

You can set these required values via command line (e.g. --set image.tag=0.8.0), or edit them in a separate file(e.g. values.yaml) and use -f <filename> or --values=<filename> to set it.

To install the chart with the release name my-release:

git clone https://github.com/apache/skywalking-banyandb-helm
cd ./skywalking-banyandb-helm
helm install my-release \
  chart \
  -n <namespace> \
  --set image.tag=<image-tag>

The command deploys BanyanDB on the Kubernetes cluster with the default configuration. The configuration section lists the parameters that can be configured during installation.

Tip: List all releases using helm list

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm uninstall my-release -n <namespace>

The command removes all the banyandb components associated with the chart and deletes the release.

Compatibility

Chart VersionSupported BanyanDB Version
0.5.x0.9.x
0.4.00.8.x
0.3.00.7.x
0.4.0 or later0.8.0 or later

Configuration

The parameters are described in parameters.md.

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,

Note You could refer to the helm install for more command information.

$ helm install my-release \
  chart \
  -n <namespace> \
  --set image.tag=<image-tag> \
  --set fullnameOverride=newBanyanDB

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

$ helm install my-release \
  chart \
  -n <namespace> \
  --set image.tag=<image-tag> \
  -f values.yaml

Tip: You can use the default values.yaml

Authentication

Basic authentication can be enabled for liaison and standalone modes. When enabled, the chart mounts a credentials file and adds --auth-config-file to BanyanDB.

  • Enable auth and provide users (plaintext passwords):
auth:
  enabled: true
  users:
    - username: admin
      password: "changeme"
  • Use an existing Secret (recommended for production). The Secret must contain a key credentials.yaml (configurable via auth.credentialsFileKey) whose value is the YAML content in the format required by BanyanDB (docs):
auth:
  enabled: true
  existingSecret: my-banyandb-auth
  credentialsFileKey: credentials.yaml

The Secret name defaults to <release>-banyandb-auth when auto-created.

Retrieve credentials after install

If the chart created the Secret (no auth.existingSecret), you can decode it:

kubectl get secret <release-name>-banyandb-auth -n <namespace> -o jsonpath='{.data.credentials\.yaml}' | base64 --decode

Adjust the key if you changed auth.credentialsFileKey.

Canopy console

The chart can deploy canopy, the standalone web console for BanyanDB (the legacy embedded UI's replacement), for both standalone and cluster modes:

canopy:
  enabled: true

Canopy proxies /api and /monitoring, so exposing the canopy service (or canopy.ingress) gives you the console UI and the BanyanDB HTTP API on one endpoint. The image tag defaults to <image.tag>-canopy — the console ships in the same repo with a tag suffix, in lockstep with the BanyanDB image.

Console credentials

On first install the chart generates a default admin user with a strong random password (stable across upgrades). Retrieve it from the install notes or directly:

kubectl get secret <release-name>-canopy-auth -n <namespace> -o jsonpath='{.data.password}' | base64 -d; echo

To use your own credentials, either set canopy.auth.password / canopy.auth.users (bcrypt hashes), or point canopy.auth.existingSecret at a Secret containing session-secret and users.yaml keys.

Use external certificate authorities for TLS

If you'd like to use external certificate authorities, such as Vault, corresponding annotations can be injected into banyandb.

Backup and Restore

The backup and restore functionalities are supported in the BanyanDB Helm Chart. The detailed configuration can be found in backup.md.

Lifecycle Management

The lifecycle management functionalities are supported in the BanyanDB Helm Chart. The detailed configuration can be found in lifecycle.md.

Install the development version of BanyanDB using the master branch

This is needed only when you want to install BanyanDB from the master branch.

You can install BanyanDB with the default configuration as follows.

export REPO=chart
git clone https://github.com/apache/skywalking-banyandb-helm
cd skywalking-banyandb-helm
helm dependency build ${REPO}
helm install banyandb ${REPO}

Contact Us

  • Submit an issue
  • Mail list: dev@skywalking.apache.org. Mail to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list.
  • Send Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • For Chinese speaker, send [CN] Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • Twitter, ASFSkyWalking
  • bilibili B站 视频

LICENSE

Apache 2.0