KubeDB

KubeDB by AppsCode - Making running production-grade databases easy on Kubernetes. This chart bootstraps a KubeDB controller deployment on a Kubernetes cluster using the Helm package manager.

Running production quality database in Kubernetes can be tricky, to say the least. In the early days of Kubernetes, replication controllers were used to running a single pod for a database. With the introduction of StatefulSet, it became easy to run a Docker container for any database. But what about monitoring, taking periodic backups, restoring from backups or cloning from an existing database? KubeDB is a framework for writing operators for any database that support the following operational requirements:

  • Create a database declaratively using CRD.
  • Take one-off backups or periodic backups to various cloud stores, eg, S3, GCS, Azure etc.
  • Restore from backup or clone any database.
  • Native integration with Prometheus for monitoring via CoreOS Prometheus Operator.
  • Apply deletion lock to avoid accidental deletion of the database.
  • Keep track of deleted databases, cleanup prior snapshots with a single command.
  • Use cli to manage databases like kubectl for Kubernetes.

KubeDB is developed at AppsCode to run their SAAS platform on Kubernetes. Currently, KubeDB includes support for following data stores:

  • Postgres
  • Elasticsearch
  • MySQL
  • MongoDB
  • Redis
  • Memcached

Supported Elasticsearch Features

  • Clustering
  • Authentication (using Search Guard)
  • Authorization (using Search Guard)TLS certificates (using Search Guard)
  • Persistent Volume
  • Instant Backup
  • Scheduled Backup
  • Initialization from Snapshot
  • Builtin Prometheus Discovery
  • Using CoreOS Prometheus Operator
  • Supported Memcached Features
  • Builtin Prometheus Discovery
  • Using CoreOS Prometheus Operator

Supported MongoDB Features

  • Persistent Volume
  • Instant Backup
  • Scheduled Backup
  • Initialization from Snapshot
  • Builtin Prometheus Discovery
  • Using CoreOS Prometheus Operator

Supported MySQL Features

  • Persistent Volume
  • Instant Backup
  • Scheduled Backup
  • Initialization from Snapshot
  • Builtin Prometheus Discovery
  • Using CoreOS Prometheus Operator

Supported PostgreSQL Features

  • Clustering
  • Warm Standby
  • Hot Standby
  • Streaming Replication
  • Automatic Failover
  • Continuous Archiving using wal-g
  • Initialization from WAL archive
  • Persistent Volume
  • Instant Backup
  • Scheduled Backup
  • Initialization from Snapshot
  • Initialization using Script
  • Builtin Prometheus Discovery
  • Using CoreOS Prometheus Operator

Supported Redis Features

  • Persistent Volume
  • Builtin Prometheus Discovery
  • Using CoreOS Prometheus Operator

Tell us about a new Kubernetes application

Newsletter

Never miss a thing! Sign up for our newsletter to stay updated.

About

Discover and share new Kubernetes applications

Navigation