CockroachDB on Kubernetes is now in general availability, providing users with a Kubernetes database and a custom, open source Operator [available on GitHub and in the RedHat Marketplace] that automates deployment, management, and maintenance. This release enables teams at any skill level to run a relational database on Kubernetes.
More organizations are shifting to a cloud native architecture that makes use of containerized apps and services [read: How does Bose use Kubernetes & CockroachDB?], and they are looking for strong, proven platforms. Kubernetes enables organizations to automate the deployment and management of container-based services, providing huge value for organizations operating in the cloud.
However, managing stateful, database-dependent applications with the platform has historically been a challenge. Legacy relational databases were not built to realize the full potential of Kubernetes so organizations must run them alongside the platform (instead of on it), adding more complexities, causing bottlenecks and single points of failure.
As a cloud-native database, CockroachDB has the same distributed, shared-nothing architecture as Kubernetes. This makes it an ideal fit for Kubernetes, so organizations gain its benefits across the entire application. Developers attach storage, and CockroachDB handles scale, availability, and distribution of data. There is no need to perform additional, complex tasks to manage shards or to deal with inevitable pod failures. With the custom Operator, we have packaged up best practices gained from running hundreds of clusters on Kubernetes with our cloud service, CockroachDB Dedicated.
What is a Kubernetes Operator?
A Kubernetes Operator is a software extension of Kubernetes that serves as automation for typical human operator tasks. Operator tasks can include cluster and database security, storage configuration, scaling up and down, and performing upgrades.
What is the Kubernetes Operator for CockroachDB?
The new open-source Kubernetes Operator for CockroachDB was developed using best practices learned from years of running hundreds of clusters on Kubernetes for our cloud service, CockroachDB Dedicated. The Kubernetes Operator for CockroachDB makes it easier for teams to manage:
Deployment - Deploy a secure CockroachDB cluster and automate basic configurations.
Management - Simply scale a database cluster up and down in Kubernetes without any manual manipulation of data.
Online Rolling Upgrades - Upgrade CockroachDB and apply security patches without any application downtime.
Why run CockroachDB on Kubernetes, and why use the Kubernetes Operator?
CockroachDB is architected from the ground up to deliver on the core distributed principles of atomicity, scale, and availability enabling management of the database in Kubernetes, not along side of it. By running CockroachDB on Kubernetes, engineering teams can:
Scale their database effortlessly - Each instance of CockroachDB is symmetrical, allowing users to spin up new instances without manual work. There is no need to create additional, complex functions to manage shards.
Survive Kubernetes pod failures - CockroachDB replicates data and automates placement across pods so users can survive any failure and avoid downtime without any impact to production applications.
Automate deployment, management, and online rolling upgrades - The custom Kubernetes Operator automates basic configurations, deploys secure CockroachDB clusters, and upgrades CockroachDB without any application downtime.
How to Get started with the CockroachDB Operator on Kubernetes
You can get started with CockroachDB on Kubernetes in the following ways:
Open Source: Developers can download CockroachDB and get the Kubernetes Operator as an open source, platform-agnostic offering on GitHub.
Red Hat Marketplace: Developers using OpenShift can go to the Red Hat Marketplace to get CockroachDB and view details about the Red Hat Certified OpenShift Operator.
For full instructions on how to use the Kubernetes Operator, head over to our Docs: Deploy CockroachDB in a Single Kubernetes Cluster. You can also watch a quick 6-minute video tutorial below from Cockroach Labs Product Manager John Kendall: