aland-zhang / kubeblocks

KubeBlocks helps developers and platform engineers manage database workloads (MySQL, PostgresSQL, Redis, MongoDB, Kafka and vector databases) on K8s inside your own cloud account. It supports multiple clouds, including AWS, Azure, GCP, and Alibaba Cloud.

Home Page:https://kubeblocks.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KubeBlocks

Documentation status OpenSSF Best Practices Releases LICENSE Go Report Card Docker Pulls codecov Build status maturity

image

What is KubeBlocks

KubeBlocks is an open-source Kubernetes operator that manages relational, NoSQL, vector, and streaming databases on the public cloud or on-premise. It is designed for production purposes, providing reliable, performant, observable, and cost-effective data infrastructure for most scenarios. The name KubeBlocks is inspired by Kubernetes and LEGO blocks, signifying that building data infrastructure on Kubernetes can be both productive and enjoyable, like playing with construction toys.

Why you need KubeBlocks

When adopting a multi-cloud or hybrid cloud strategy, it is essential to prioritize application portability and use software or services that offer consistent functionality across different infrastructures. Kubernetes has helped in achieving this goal to some extent, and KubeBlocks can further enhance the experience. KubeBlocks integrates popular database engines and provides rich management functions, along with declarative APIs, on various infrastructures. Furthermore, KubeBlocks offers the following benefits:

  • Performance

    You do not have to learn database tuning. KubeBlocks can leverage storage and computing resources to achieve optimal database performance.

  • Reliability

    You do not need to worry about data loss or service outages. KubeBlocks provides fault tolerance at the node or availability zone levels, which maximizes database reliability.

  • Observability

    You can track new metrics under one roof. KubeBlocks integrates observability platforms such as Prometheus stack, AWS AMP, Aliyun ARMS, etc., and provides beautiful templates with insights.

  • Extensibility

    You can integrate and use new database engines with ease. KubeBlocks provides a good abstraction of the database control plane, allowing for efficient support of new database engines with a consistent user experience.

Goals

  • Being open and cloud-neutral
  • Promoting the containerization of database workloads
  • Promoting IaC and GitOps in the field of databases
  • Reducing the cost of using databases
  • Smoothing the learning curve of managing databases

Key features

  • Be compatible with AWS, GCP, Azure, and more
  • Supports MySQL, PostgreSQL, Redis, MongoDB, Kafka, and more
  • Provides production-level performance, resilience, scalability, and observability
  • Simplifies day-2 operations, such as upgrading, scaling, monitoring, backup, and restore
  • Contains a powerful and intuitive command line tool

Get started with KubeBlocks

Quick Start shows you the quickest way to get started with KubeBlocks.

Community

Contributing to KubeBlocks

Your contributions are welcomed and appreciated.

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.

License

KubeBlocks is under the GNU Affero General Public License v3.0. See the LICENSE file for details.

About

KubeBlocks helps developers and platform engineers manage database workloads (MySQL, PostgresSQL, Redis, MongoDB, Kafka and vector databases) on K8s inside your own cloud account. It supports multiple clouds, including AWS, Azure, GCP, and Alibaba Cloud.

https://kubeblocks.io

License:GNU Affero General Public License v3.0


Languages

Language:Go 87.8%Language:CUE 4.3%Language:Smarty 3.7%Language:Shell 1.9%Language:Mustache 1.5%Language:Makefile 0.5%Language:PowerShell 0.1%Language:Python 0.1%Language:HTML 0.0%Language:Dockerfile 0.0%