Project Description

Containers are great for scaling stateless services and making them robust. However, stateful services like databases continue to pose challenges. In particular, upgrading a running database service to a new version with near zero downtime is not trivial. Wouldn't it be great if a helm chart or K8S operator could automatically take care of this for you? This would allow you to fire up a database in your K8S cluster and consume it as-a-service. And put us one step closer to building a private cloud that runs anywhere, powered by pure open source.

Goal for this Hackweek

  • Boot up an Amazon Kubernetes Service instance, deploy Rancher and register the cluster with Rancher
  • Install a helm chart for an older version of a stateful service on the cluster, e.g. MariaDB, PostgreSQL, MongoDB or similar
  • Put some data into the service and run a simulated load on it
  • Naively upgrade the service to a newer version via helm and observe what, if anything, breaks
  • Read database vendor instructions how human operators can achieve near zero downtime upgrades of the service
  • Try and script these instructions to perform an automatic near zero downtime upgrade on the cluster
  • Try and derive a general framework for near zero downtime upgrades of arbitrary stateful services (maybe as an extension to helm; needs to offer the right kind of service-specific extension points)

Resources

  • Starting as an independent exploration
  • Happy for anyone interested in Rancher, MariaDB and Helm to join!

Looking for hackers with the skills:

rancher containers mariadb postgresql mongodb near-zerodowntime upgrade

This project is part of:

Hack Week 20

Activity

  • almost 2 years ago: michals liked this project.
  • almost 2 years ago: mkoutny liked this project.
  • almost 2 years ago: mlnoga added keyword "containers" to this project.
  • almost 2 years ago: mlnoga added keyword "mariadb" to this project.
  • almost 2 years ago: mlnoga added keyword "postgresql" to this project.
  • almost 2 years ago: mlnoga added keyword "mongodb" to this project.
  • almost 2 years ago: mlnoga added keyword "near-zerodowntime" to this project.
  • almost 2 years ago: mlnoga added keyword "upgrade" to this project.
  • almost 2 years ago: mlnoga added keyword "rancher" to this project.
  • almost 2 years ago: mlnoga originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Rancher Token Revoker by mbolot

    [comment]: # (Please use the project descriptio...


    image-tools: simple tool for mirror/save/load container images & KDM and chart image list generator. by StarryWang

    [comment]: # (Please use the project descriptio...


    Rancher QA Blog Space by jamcghee

    [comment]: # (Please use the project descriptio...


    K3S Control Planes as a service by ademicev0

    [comment]: # (Please use the project descriptio...


    Rancher Manager of Managers with KCP by rcase

    [comment]: # (Please use the project descriptio...


    Run sandboxed Firefox with image and sound inside a container by nguyens

    [comment]: # (Please use the project descriptio...


    Image generation AI in container using Radeon GPU by tjyrinki_suse

    [comment]: # (Please use the project descriptio...


    Improve Docker registry listing tool by rbranco

    Project Description

    [regview](https://git...


    Man pages in a container by doreilly

    [comment]: # (Please use the project descriptio...


    Containerized git server/client for playground and tutorials by mberti

    [comment]: # (Please use the project descriptio...


    Learn PostgreSQL advanced features by okurz

    Motivation

    The PostgreSQL database implement...


    Port the Minion job queue to TypeScript by kraih

    Project Description

    As part of the [mojo....


    Easy openSUSE Upgrade by maverick74

    The idea is about an easy way to allow users to...