We are pleased to announce the release of KubeDB v2023.04.10
. This post lists all the major changes done in this release since the last release.
The release includes new changes like One chart to Install KubeDB and Stash
, Migration to GitHub Container Registry
, and Kafka Monitoring using Prometheus and Grafana
. Also, new version support for Kafka 3.3.2, 3.4.0
, MariaDB 10.11.2
, MongoDB 6.0.5, 5.0.15
, Redis 7.0.10
, Percona XtraDB 8.0.31
, PostgreSQL 15.2, 14.7, 13.10, 12.14, and 11.19
and bug fixes for MySQL
, Redis
, kafka
has been added in this release.
Find the detailed changelogs HERE .
Migration to GitHub Container Registry
In this release we have migrated all docker images published by AppsCode to the GitHub Container Registry (ghcr.io) from the Docker Hub. Going forward, we are going to publish docker images exclusively to ghcr.io . This will resolve any issues related to rate limiting by Docker Hub. You can find the images HERE .
One chart to Install KubeDB and Stash
We have created a new kubedb-one
chart that includes both KubeDB and Stash. You can find the details HERE
on what is included in the chart. To use it, simply can run the following command:
helm upgrade -i kubedb appscode/kubedb-one \
--version v2023.04.10 \
--namespace kubedb --create-namespace \
--set-file global.license=/path/to/the/license.txt
Kafka
Monitoring using Prometheus & Grafana
KubeDB now offers support for monitoring Kafka clusters using Prometheus and Grafana dashboards. With the in-built JMX exporter, Kafka metrics can be easily exported to Prometheus via a service monitor, and Grafana dashboards can be created to visualize those metrics. KubeDB also provides a pre-built Grafana dashboard for Kafka metrics. For example, here’s a sample YAML for deploying a TLS-secured Kafka cluster with built-in monitoring support.
apiVersion: kubedb.com/v1alpha2
kind: Kafka
metadata:
name: kafka
namespace: demo
spec:
enableSSL: true
tls:
issuerRef:
apiGroup: cert-manager.io
name: kafka-ca-issuer
kind: Issuer
replicas: 3
version: 3.4.0
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: standard
monitor:
agent: prometheus.io/operator
prometheus:
exporter:
port: 9091
serviceMonitor:
labels:
release: prometheus
interval: 10s
storageType: Durable
terminationPolicy: WipeOut
Here’s the KubeDB built Grafana Dashboard
.
Also, We have added support for Kafka version 3.3.2
& 3.4.0
. From this release, Kafka docker images will be using OpenJDK-based Java version 11 instead of Java 8 as it has been deprecated since 3.0.0
.
MongoDB
We have added the MongoDB version 6.0.5
and 5.0.15
in this release. To deploy a MongoDB replica-set instance with version 6.0.5
, you can apply this yaml:
apiVersion: kubedb.com/v1alpha2
kind: MongoDB
metadata:
name: sample-mg
namespace: demo
spec:
version: 6.0.5
replicaSet:
name: "rs1"
replicas: 3
storageType: Durable
storage:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
terminationPolicy: WipeOut
MariaDB
We have added the latest MariaDB version 10.11.2
in this release. To deploy a MariaDB Standalone instance with version MariaDB 10.11.2
, you can apply this yaml:
apiVersion: kubedb.com/v1alpha2
kind: MariaDB
metadata:
name: mariadb-standalone
namespace: demo
spec:
version: "10.11.2"
replicas: 1
storageType: Durable
storage:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
terminationPolicy: WipeOut
Change Default WSREP_SST_METHOD: From this release, the default value for spec.wsrepSSTmethod
will be rsync
. Previously it was set to mariabackup
.
Percona XtraDB
We have added the latest Percona XtraDB version 8.0.31
in this release. To deploy a Percona XtraDB Galera cluster with version Percona XtraDB 8.0.31
, you can apply this yaml:
apiVersion: kubedb.com/v1alpha2
kind: PerconaXtraDB
metadata:
name: xtradb-galera
namespace: demo
spec:
version: "8.0.31"
replicas: 3
storageType: Durable
storage:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
terminationPolicy: WipeOut
Redis
We have added the latest Redis version 7.0.10
in this release. To deploy a Redis Standalone instance with version Redis 7.0.10
, you can apply this yaml:
apiVersion: kubedb.com/v1alpha2
kind: Redis
metadata:
name: sample-redis
namespace: demo
spec:
version: 7.0.10
storageType: Durable
storage:
storageClassName: "standard"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
terminationPolicy: WipeOut
Bug Fix: When the database is created with the same name in multiple namespaces, multiple redis instances was trying to own a single clusterrole
, this bug is fixed in this release. Now to grant redis instances access to sentinel instances, only one clusterrole
is created without owner reference.
MySQL
Bug Fix: Earlier MySQL instance was used to create a cluster role for reading the mysqlversion
from the mysql-coordinator
. When the database is created with the same name in multiple namespaces, multiple MySQL instances try to own a single cluster role, this bug is fixed in this release. Now to grant MySQL coordinator access to mysqlversions
, only one cluster role mysql-version-reader
is created without owner reference.
PostgreSQL
We have added the latest PostgreSQL version 15.2
, 14.7
, 13.10
, 12.14
, and 11.19
. To deploy a PostgreSQL Standalone instance with version Postgres 15.2
, you can apply this yaml:
apiVersion: kubedb.com/v1alpha2
kind: Postgres
metadata:
name: quick-postgres
namespace: demo
spec:
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: standard
storageType: Durable
terminationPolicy: WipeOut
version: "15.2"
What Next?
Please try the latest release and give us your valuable feedback.
If you want to install KubeDB, please follow the installation instruction from KubeDB Setup .
If you want to upgrade KubeDB from a previous version, please follow the upgrade instruction from KubeDB Upgrade .
Support
To speak with us, please leave a message on our website .
To receive product announcements, follow us on Twitter .
To watch tutorials of various Production-Grade Kubernetes Tools Subscribe our YouTube channel.
Learn More about Production-Grade Databases in Kubernetes
If you have found a bug with KubeDB or want to request for new features, please file an issue .