You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
We use cookies and other similar technology to collect data to improve your experience on our site, as described in our Privacy Policy.
Run Production-Grade Databases on Kubernetes
Backup and Recovery Solution for Kubernetes
Run Production-Grade Vault on Kubernetes
Secure HAProxy Ingress Controller for Kubernetes
Kubernetes Configuration Syncer
Kubernetes Authentication WebHook Server
KubeDB simplifies Provision, Upgrade, Scaling, Volume Expansion, Monitor, Backup, Restore for various Databases in Kubernetes on any Public & Private Cloud
A complete Kubernetes native disaster recovery solution for backup and restore your volumes and databases in Kubernetes on any public and private clouds.
KubeVault is a Git-Ops ready, production-grade solution for deploying and configuring Hashicorp's Vault on Kubernetes.
Secure HAProxy Ingress Controller for Kubernetes
Kubernetes Configuration Syncer
Kubernetes Authentication WebHook Server
New to KubeDB? Please start here.
KubeDB provides a CLI to work with database objects. Download pre-built binaries from kubedb/cli Github releases and put the binary to some directory in your PATH. To install on Linux 64-bit and MacOS 64-bit you can run the following commands:
# Linux amd 64-bit
wget -O kubedb https://github.com/kubedb/cli/releases/download/0.8.0-beta.0/kubedb-linux-amd64 \
&& chmod +x kubedb \
&& sudo mv kubedb /usr/local/bin/
# Mac 64-bit
wget -O kubedb https://github.com/kubedb/cli/releases/download/0.8.0-beta.0/kubedb-darwin-amd64 \
&& chmod +x kubedb \
&& sudo mv kubedb /usr/local/bin/
If you prefer to install KubeDB cli from source code, you will need to set up a GO development environment following these instructions. Then, install kubedb CLI using go get from source code.
go get github.com/kubedb/cli/...
Please note that this will install KubeDB cli from master branch which might include breaking and/or undocumented changes.
To use kubedb, you will need to install KubeDB operator. kubedb init command will deploy operator for KubeDB databases.
$ kubedb init
Successfully created operator deployment.
Successfully created operator service.
KubeDB operators supports RBAC v1beta1 authorization api for Kubernetes clusters. To use KubeDB in an RBAC enabled cluster, run the kubedb init command with --rbac flag.
$ kubedb init --rbac
Successfully created cluster role.
Successfully created service account.
Successfully created cluster role bindings.
Successfully created operator deployment.
Successfully created operator service.
This will create a kubedb-operator ClusterRole, ClusterRoleBinding and ServiceAccount to run KubeDB operator pods. With RBAC enabled, a separate set of ClusterRole, ClusterRoleBinding and ServiceAccount will be created for each KubeDB database. To learn more, please visit here.
To check if KubeDB operator pods have started, run the following command:
$ kubectl get pods --all-namespaces -l app=kubedb --watch
Once the operator pods are 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=kubedb
Now, you are ready to create your first database using KubeDB.
To upgrade KubeDB cli, just replace the old cli with the new version.
kubedb init command can be used to upgrade operator. Re-run the kubedb init command with --upgrade flag to upgrade operator.
$ kubedb init --version='0.8.0-beta.0' --upgrade
Successfully upgraded operator deployment.
To learn about various options of init command, please visit here.