We are pleased to announce the release of KubeDB v2021.08.23. This post lists all the major changes done in this release since
v2021.06.23. This release offers support for the latest
Kubernetes version 1.22. The
KubeDB CLI now has exciting new features.
MongoDB now uses the official docker images.
Elasticsearch supports the latest xpack and opendistro versions and provides pre-built Docker images with snapshot plugins. KubeDB managed
Redis now provides Password Authentication for the default user. KubeDB v2021.08.23 brings further changes to the Community Edition and deprecates prior releases of KubeDB operators. The detailed commit by commit changelog can be found here.
As you may know, Kubernetes 1.22 removed several deprecated beta APIs that were used by KubeDB. So, we have updated KubeDB project to use the corresponding GA version of those APIs. With this change, KubeDB v2021.08.23 supports Kubernetes 1.16 - 1.22 .
In this release, we’ve added some exciting features in KubeDB CLI. The CLI now has some new commands to make your database administration easier. The commands are listed below:
- connect: The connect command is used to connect to the shell of a database, where you can run your database commands.
- exec: Using the exec command, you can execute a script file or run a database command directly via flag without connecting to the database shell. For example, you can run a
MongoDBdatabase or a
Postgresdatabase using the exec command.
- show-credentials: This command is used to print the credentials i.e. the root username and password to connect to the database.
- pause: The pause command is used to pause a database so that the KubeDB operators don’t process any changes made to the database
CRO(Custom Resource Object).
- resume: You can use the resume command when you want to resume the database from a paused state. After resuming a database, the KubeDB operators will start processing the database again. The command also waits for the database to sync properly before exiting.
- Elasticsearch versions support:
- KubeDB managed Elasticsearch now provides Elasticsearch docker images with pre-installed snapshot plugins: repository-s3, repository-azure, repository-hdfs, and repository-gcs. ElasticsearchVersion with snapshot plugins:
kubedb-xpack-7.9.1. You can find a detailed tutorial here.
- While using plugins to take snapshots, users need to provide secure settings. KubeDB allows you to provide secure settings through a k8s secret. Now, users can also provide
KEYSTORE_PASSWORDto secure the
apiVersion: kubedb.com/v1alpha2 kind: Elasticsearch metadata: name: sample-es spec: secureConfigSecret: name: k8s-secret-name-with-settings
- KubeDB supports hot-warm clustering for Opendistro of Elasticsearch.
- Includes various feature improvements and bug fixes.
KubeDB managed Redis now provides
Password Authentication for Default user.
- Previously, the MongoDB database docker image was maintained by KubeDB as we had to insert some scripts inside the official MongoDB image. But to give our users a more reliable experience, we decided to use the MongoDB official images without any modifications. From this release, we are using
MongoDB official docker imagesfor the provisioning of the MongoDB database using KubeDB.
- Previously, KubeDB enterprise operator printed the intermediate logs of a
MongoDBOpsRequestwhich flooded the KubeDB enterprise operator logs with unnecessary logs. Now, we’ve changed the log verbosity of the intermediate logs. So, the intermediate logs of the
MongoDBOpsRequestdon’t get printed anymore. If you want to see the intermediate logs, you can change the log level of KubeDB enterprise operator to
We wanted to collect state metrics from our various products (eg, KubeDB, Stash and other). But we didn’t find any existing tool that would accomplish our needs. Kubernetes has a project called kube-state-metrics but it does not support collecting metrics from Kubernetes custom resources. Moreover, the metrics for Kubernetes native resources were predefined and there was hardly any customization options. So, we decided to build our own generic resource metrics exporter, named
Panopticon, which can collect metrics from any kind of Kubernetes resources.
Panopticon is a Kubernetes controller that watches Kubernetes resources passively and exports Prometheus metrics. You can find more details here. The
MetricsConfiguration for KubeDB resources are published via kubedb-metrics chart.
KubeDB Operator uses
In previous releases, the KubeDB documentation will show KubeDB operator deployed in
kube-system namespace. From this release, we have updated the documentation to use the
kubedb namespace for installing the operator. This is generally recommended to deploy operators in their own namespace instead of
kube-system namespace. But you can still deploy KubeDB is the
kube-system namespace or any other namespace you like using Helm.
Changes to Community Edition
Kubernetes v2021.08.23 Community Edition will manage database custom resources in Kubernetes
demo namespace. Community Edition is feature limited and with this change we are making it clear to end users that Community Edition is primarily targeted for demo use-cases and the Enterprise Edition is targeted for production and/or sustained usage. To manage databases in any namespace, please try the Enterprise Edition.
Deprecating Previous KubeDB Releases
KubeDB as a product has evolved quite a bit since our decision to adopt an open/core model for the project last year and provide a sustainable future for the project. With this release, we are announcing the deprecation of all prior KubeDB releases. The previous versions of KubeDB operator will become unavailable by Dec 31, 2021. So, we encourage users to upgrade to the latest version of KubeDB.
Please try the latest release and give us your valuable feedback.
If you want to install KubeDB, please follow the installation instruction from here.
If you want to upgrade KubeDB from a previous version, please follow the upgrade instruction from here.
To speak with us, please leave a message on our website.
To receive product announcements, follow us on Twitter.
If you have found a bug with KubeDB or want to request for new features, please file an issue.