[MDBF-298] MariaDB and Kubernetes Created: 2021-12-15  Updated: 2023-11-20

Status: Open
Project: MariaDB Foundation Development
Component/s: Kubernetes
Affects Version/s: None
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Anel Husakovic Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: foundation, kubernetes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
PartOf
includes MDBF-299 Minimum Viable Product - MariaDB Kube... Closed
includes MDBF-383 Create MariaDB K8s operator that work... Open
includes MDBF-574 Investigate K8s external operator Open

 Description   

Introduction

During the rise of microservices, Kubernetes helps in managing containerized applications in different environments (physical, virtual, cloud, hybrid).
One of the "direct" competitors of Kubernetes is docker-swarm. The purpose of Kubernetes is to facilitate starting, stopping, running a complex application stack (similar to the LAMP stack, but with many more possibilities covering distributed systems too).

A Kubernetes Operator is a controller that encodes human operational knowledge: how do I run and manage a specific piece of complex software.

Why this matters for MariaDB Foundation

Modern day applications are built using a complex technology stack. Containers are one piece of the puzzle and container orchestration is another. We cover the containers aspect by supplying MariaDB Server Docker images, however MariaDB Server lacks in tooling for easily deploying server nodes with the most popular orchestration platform - Kubernetes. Being well supported here should greatly increase the user base of MariaDB as it will reduce the effort required to build applications with MariaDB.

Philosophy behind the project

The project will attempt to kickstart a community around Kubernetes. We will be building a Minimum Viable Product as defined in MDBF-299, then seek to grow contributors to improve the operator.

External projects for MariaDB

  • There are already multiple helm charts found on Artifacthub-MariaDB that help configure and deploy MariaDB PODs and services
  • There is single MariaDB operator that was used as proof of concept in alpha version.

External projects related to K8 MariaDB (MySQL)

Possibility of using other projects as a base

  • Percona - Can not be used as a base, since it is integrated PXC product, and used for MySQL.
  • MySQL - Not usable as a base. Supports only Group replication.

Already existing documentation

Blogs of Anel

  1. Start MariaDB in K8s
  2. MariaDB & K8s: Communication between containers/Deployments
  3. MariaDB & K8s: Create a Secret and use it in MariaDB deployment

Generated at Thu Feb 08 03:36:52 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.