You are looking at the documentation of a prior release. To read the documentation of the latest release, please visit here.

Install KubeDB

Get a Free License

Download a FREE license from AppsCode License Server.

KubeDB licensing process has been designed to work with CI/CD workflow. You can automatically obtain a license from your CI/CD pipeline by following the guide from here.

Install

Using Helm 3

KubeDB can be installed via Helm using the chart from AppsCode Charts Repository. To install, follow the steps below:

$ helm install kubedb oci://ghcr.io/appscode-charts/kubedb \
  --version v2024.7.3-rc.0 \
  --namespace kubedb --create-namespace \
  --set-file global.license=/path/to/the/license.txt \
  --wait --burst-limit=10000 --debug
If you are using private Docker registries using self-signed certificates, please pass the registry domains to the operator like below:
$ helm install kubedb oci://ghcr.io/appscode-charts/kubedb \
  --version v2024.7.3-rc.0 \
  --namespace kubedb --create-namespace \
  --set global.insecureRegistries[0]=hub.example.com \
  --set global.insecureRegistries[1]=hub2.example.com \
  --set-file global.license=/path/to/the/license.txt \
  --wait --burst-limit=10000 --debug

To see the detailed configuration options, visit here.

Using YAML

If you prefer to not use Helm, you can generate YAMLs from KubeDB chart and deploy using kubectl. Here we are going to show the procedure using Helm 3.

$ helm template kubedb oci://ghcr.io/appscode-charts/kubedb \
  --version v2024.7.3-rc.0 \
  --namespace kubedb --create-namespace \
  --set-file global.license=/path/to/the/license.txt  \
  --set global.skipCleaner=true | kubectl apply -f -
If you are using private Docker registries using self-signed certificates, please pass the registry domains to the operator like below:
$ helm template kubedb oci://ghcr.io/appscode-charts/kubedb \
  --version v2024.7.3-rc.0 \
  --namespace kubedb --create-namespace \
  --set-file global.license=/path/to/the/license.txt  \
  --set global.insecureRegistries[0]=hub.example.com \
  --set global.insecureRegistries[1]=hub2.example.com \
  --set global.skipCleaner=true | kubectl apply -f -

To see the detailed configuration options, visit here.

Verify installation

To check if KubeDB operator pods have started, run the following command:

$ watch kubectl get pods --all-namespaces -l "app.kubernetes.io/instance=kubedb"

NAME                                            READY   STATUS    RESTARTS   AGE
kubedb-kubedb-autoscaler-b5dd47dc5-bxnrq        1/1     Running   0          48s
kubedb-kubedb-dashboard-99db95dc4-j78w2         1/1     Running   0          48s
kubedb-kubedb-ops-manager-6f766b86c6-h9m66      1/1     Running   0          48s
kubedb-kubedb-provisioner-6fd44d5784-d8v9c      1/1     Running   0          48s
kubedb-kubedb-webhook-server-6cf469bdf4-72wvz   1/1     Running   0          48s

Once the operator pod is running, you can cancel the above command by typing Ctrl+C.

Now, to confirm CRD groups have been registered by the operator, run the following command:

$ kubectl get crd -l app.kubernetes.io/name=kubedb

Now, you are ready to create your first database using KubeDB.

Purchase KubeDB License

If you are interested in purchasing KubeDB license, please contact us via [email protected] for further discussion. You can also set up a meeting via our calendly link.

If you are willing to purchase KubeDB but need more time to test in your dev cluster, feel free to contact [email protected]. We will be happy to extend your trial period.