Motivation
If you are a developer using multiple types of databases in your application and are considering deploying both your application and databases on K8s for cost or efficiency reasons, you will need to find suitable operators for each database. Learning the different operators and their APIs will introduce a significant learning curve and time costs, not to mention the effort required to maintain them.
We aim to use a unified set of APIs (CRDs) and code to manage various databases on K8s. For example, we can use the Cluster
resource to create a PostgreSQL cluster, a Redis cluster, or a Kafka cluster. This abstraction and unified API allow us to further use a single set of operator code to manage multiple types of databases, as well as handle day-2 operations, theoretically extending to any type of database engine.
Goals
- Smoothing the learning curve of managing various databases on K8s
- Exploring standard APIs for managing databases on Kubernetes
- Being open and cloud-neutral, as well as engine-neutral
Get started with KubeBlocks
Quick Start shows you the quickest way to get started with KubeBlocks.
Resources
How to write a KubeBlocks Addon?
KubeBlocks: Cloud-Native Data Infrastructure for Kubernetes (A Video made by Viktor Farcic)
KubeBlocks at KubeCon
KubeCon 2024 in HongKong from 21-23 August 2024: How to Manage Database Clusters Without a Dedicated Operator, By Shanshan Ying, ApeCloud & Shun Ding, China Mobile Cloud
KubeCon 2024 in HongKong from 21-23 August 2024: KuaiShou’s 100% Resource Utilization Boost: 100K Redis Migration from Bare Metal to Kubernetes, By XueQiang Wu, ApeCloud & YuXing Liu, Kuaishou
Community
- KubeBlocks Slack Channel
- KubeBlocks Github Discussions
Report Vulnerability
We consider security is a top priority issue. If you come across a related issue, please create a Report a security vulnerability issue.