Home Explore Blog CI



kubernetes

1st chunk of `content/en/blog/_posts/2018-03-00-How-To-Integrate-Rollingupdate-Strategy.md`
022237cfa6c2253b4890c372ed99c51addebfa6bcb9ebe62000000010000094f
---
title: "How to Integrate RollingUpdate Strategy for TPR in Kubernetes"
date: 2018-03-13
slug: how-to-integrate-rollingupdate-strategy
url: /blog/2018/03/How-To-Integrate-Rollingupdate-Strategy
author: >
  Orain Xiong (Woqutech)
---

With Kubernetes, it's easy to manage and scale stateless applications like web apps and API services right out of the box. To date, almost all of the talks about Kubernetes has been about microservices and stateless applications.

With the popularity of container-based microservice architectures, there is a strong need to deploy and manage RDBMS(Relational Database Management Systems). RDBMS requires experienced database-specific knowledge to correctly scale, upgrade, and re-configure while protecting against data loss or unavailability.

For example, MySQL (the most popular open source RDBMS) needs to store data in files that are persistent and exclusive to each MySQL database's storage. Each MySQL database needs to be individually distinct, another, more complex is in cluster that need to distinguish one MySQL database from a cluster as a different role, such as master, slave, or shard. High availability and zero data loss are also hard to accomplish when replacing database nodes on failed machines.

Using powerful Kubernetes API extension mechanisms, we can encode RDBMS domain knowledge into software, named WQ-RDS, running atop Kubernetes like built-in resources.

WQ-RDS leverages Kubernetes primitive resources and controllers, it deliveries a number of enterprise-grade features and brings a significantly reliable way to automate time-consuming operational tasks like database setup, patching backups, and setting up high availability clusters. WQ-RDS supports mainstream versions of Oracle and MySQL (both compatible with MariaDB).

Let's demonstrate how to manage a MySQL sharding cluster.

###  MySQL Sharding Cluster

MySQL Sharding Cluster is a scale-out database architecture. Based on the hash algorithm, the architecture distributes data across all the shards of the cluster. Sharding is entirely transparent to clients: Proxy is able to connect to any Shards in the cluster and issue queries to the correct shards directly.

| ----- |
| ![](https://lh5.googleusercontent.com/4WiSkxX-XBqARVqQ0No-1tZ31op90LAUkTco3FdIO1mFScNOTVtMCgnjaO8SRUmms-6MAb46CzxlXDhLBqAAAmbx26atJnu4t1FTTALZx_CbUPqrCxjL746DW4TD42-03Ac9VB2c)

Title: Introduction to Managing RDBMS with Kubernetes and WQ-RDS
Summary
The blog post discusses the challenges of managing stateful applications like RDBMS (e.g., MySQL) in Kubernetes, which traditionally focuses on stateless applications. It introduces WQ-RDS, a software built on Kubernetes API extensions, to encode RDBMS domain knowledge and automate tasks like database setup, patching, backups, and high availability. The post will then demonstrate how to manage a MySQL sharding cluster.