You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
KubeDB Enterprise edition is the open core version of KubeDB. It includes all the features (clustering, etc.) of KubeDB Community Edition and extends it by automating Day 2 operations, improving security and productivity. Enterprise Edition
can be used to manage KubeDB custom resources in any Kubernetes namespace.
A full features comparison between KubeDB Enterprise Edition and community version can be found here.
If you are willing to try KubeDB Enterprise Edition, you can grab a 30 days trial license from here.
In this section, we are going to show you how you can get a 30 days trial license for KubeDB Enterprise edition. You can get a license for your Kubernetes cluster by going through the following steps:
kube-system
namespace).KubeDB Enterprise Edition
in the product field.kubectl get ns kube-system -o=jsonpath='{.metadata.uid}'
license.txt
file.Here is a screenshot of the license form.
You can create licenses for as many clusters as you want. You can upgrade your license any time without re-installing KubeDB by following the upgrading guide from here.
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.
If you are interested in purchasing Enterprise license, please contact us via sales@appscode.com for further discussion. You can also set up a meeting via our calendly link.
If you are willing to purchasing Enterprise license but need more time to test in your dev cluster, feel free to contact sales@appscode.com. We will be happy to extend your trial period.
To activate the Enterprise features, you need to install both KubeDB Community operator and Enterprise operator chart. These operators can be installed as a Helm chart or simply as Kubernetes manifests. If you have already installed the Community operator, only install the Enterprise operator (step 4 in the following secttion).
KubeDB can be installed via Helm using the chart from AppsCode Charts Repository. To install, follow the steps below:
$ helm repo add appscode https://charts.appscode.com/stable/
$ helm repo update
$ helm search repo appscode/kubedb --version v0.36.0
NAME CHART VERSION APP VERSION DESCRIPTION
appscode/kubedb-catalog v0.36.0 v0.36.0 KubeDB Catalog by AppsCode - Catalog for databa...
appscode/kubedb-community v0.36.0 v0.36.0 KubeDB Community by AppsCode - Community featur...
$ helm search repo appscode/kubedb-enterprise --version v0.23.0
NAME CHART VERSION APP VERSION DESCRIPTION
appscode/kubedb-enterprise v0.23.0 v0.23.0 KubeDB Enterprise by AppsCode - Enterprise features for KubeDB
$ helm search repo appscode/kubedb-autoscaler --version v0.21.0
NAME CHART VERSION APP VERSION DESCRIPTION
appscode/kubedb-autoscaler v0.21.0 v0.21.0 KubeDB Autoscaler by AppsCode - Autoscale KubeD...
# Step 1: Install KubeDB Community operator chart
$ helm install kubedb-community appscode/kubedb-community \
--version v0.36.0 \
--namespace kubedb --create-namespace \
--set-file license=/path/to/the/license.txt
# Step 2: wait until crds are registered
$ kubectl get crds -l app.kubernetes.io/name=kubedb -w
NAME AGE
elasticsearches.kubedb.com 12s
elasticsearchversions.kubedb.com 8s
etcds.kubedb.com 8s
etcdversions.kubedb.com 8s
memcacheds.kubedb.com 6s
memcachedversions.kubedb.com 6s
mongodbs.kubedb.com 7s
mongodbversions.kubedb.com 6s
mysqls.kubedb.com 7s
mysqlversions.kubedb.com 7s
postgreses.kubedb.com 8s
postgresversions.kubedb.com 7s
redises.kubedb.com 6s
redisversions.kubedb.com 6s
# Step 3(a): Install KubeDB catalog of database versions
$ helm install kubedb-catalog appscode/kubedb-catalog \
--version v0.36.0 \
--namespace kubedb --create-namespace
# Step 3(b): Or, if previously installed, upgrade KubeDB catalog of database versions
$ helm upgrade kubedb-catalog appscode/kubedb-catalog \
--version v0.36.0 \
--namespace kubedb
# Step 4: Install KubeDB Enterprise operator chart
$ helm install kubedb-enterprise appscode/kubedb-enterprise \
--version v0.23.0 \
--namespace kubedb --create-namespace \
--set-file license=/path/to/the/license.txt
# Step 5 (Optional): Install KubeDB Autoscaler chart
# Kubernetes [VPA](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#installation) must be pre-installed separately.
$ helm install kubedb-autoscaler appscode/kubedb-autoscaler \
--version v0.21.0 \
--namespace kubedb --create-namespace \
--set-file license=/path/to/the/license.txt
To see the detailed configuration options, visit here.
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 prodecure using Helm 3.
$ helm repo add appscode https://charts.appscode.com/stable/
$ helm repo update
$ helm search repo appscode/kubedb --version v0.36.0
NAME CHART VERSION APP VERSION DESCRIPTION
appscode/kubedb-community v0.36.0 v0.36.0 KubeDB Community by AppsCode - Community features
appscode/kubedb-catalog v0.36.0 v0.36.0 KubeDB Catalog by AppsCode - Catalog for database versions
$ helm search repo appscode/kubedb-enterprise --version v0.23.0
NAME CHART VERSION APP VERSION DESCRIPTION
appscode/kubedb-enterprise v0.23.0 v0.23.0 KubeDB Enterprise by AppsCode - Enterprise features for KubeDB
# Step 1: Install KubeDB Community operator chart
$ helm template kubedb-community appscode/kubedb-community \
--version v0.36.0 \
--namespace kubedb --create-namespace \
--set-file license=/path/to/the/license.txt \
--set cleaner.skip=true | kubectl apply -f -
# Step 2: wait until crds are registered
$ kubectl get crds -l app.kubernetes.io/name=kubedb -w
NAME AGE
elasticsearches.kubedb.com 12s
elasticsearchversions.kubedb.com 8s
memcacheds.kubedb.com 6s
memcachedversions.kubedb.com 6s
mongodbs.kubedb.com 7s
mongodbversions.kubedb.com 6s
mysqls.kubedb.com 7s
mysqlversions.kubedb.com 7s
postgreses.kubedb.com 8s
postgresversions.kubedb.com 7s
redises.kubedb.com 6s
redisversions.kubedb.com 6s
# Step 3: Install/Upgrade KubeDB catalog of database versions
$ helm template kubedb-catalog appscode/kubedb-catalog \
--version v0.36.0 \
--namespace kubedb --create-namespace | kubectl apply -f -
# Step 4: Install KubeDB Enterprise operator chart
$ helm template kubedb-enterprise appscode/kubedb-enterprise \
--version v0.23.0 \
--namespace kubedb --create-namespace \
--set-file license=/path/to/the/license.txt \
--set cleaner.skip=true | kubectl apply -f -
# Step 5 (Optional): Install KubeDB Autoscaler chart
# Kubernetes [VPA](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#installation) must be pre-installed separately.
$ helm template kubedb-autoscaler appscode/kubedb-autoscaler \
--version v0.21.0 \
--namespace kubedb --create-namespace \
--set-file license=/path/to/the/license.txt \
--set cleaner.skip=true | kubectl apply -f -
To see the detailed configuration options, visit here.
To check if KubeDB operator pods have started, run the following command:
$ kubectl get pods --all-namespaces -l app.kubernetes.io/name=kubedb-community --watch
NAMESPACE NAME READY STATUS RESTARTS AGE
kubedb kubedb-community-859d6bdb56-m9br5 1/1 Running 0 5s
$ kubectl get pods --all-namespaces -l app.kubernetes.io/name=kubedb-enterprise --watch
NAMESPACE NAME READY STATUS RESTARTS AGE
kubedb kubedb-enterprise-568c884795-hzbgg 2/2 Running 0 5h35m
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.