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, CockroachCloud.
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.
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, CockroachCloud. The Kubernetes Operator for CockroachDB makes it easier for teams to manage:
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:
You can get started with CockroachDB on Kubernetes in the following ways:
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: