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

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

  • Comments

    Be the first to comment!

    Similar Projects

    Create a CLI tool for interacting with Rancher Support Matrix by dpock

    Rancher Support Matrix CLI Helper

    A tool t...


    A CLI for Harvester by mohamed.belgaied

    [comment]: # Harvester does not officially come...


    Package docker compose v2 by hennevogel

    Package [compose](https://github.com/docker/com...


    Improve SLE Release Management Container by suntorytimed

    Project Description

    In this project I would...


    WASM support for cloud native buildpacks by atgracey

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


    Family with MicroOS by xguo

    Project Description

    Try to family with Mi...


    ignite.opensuse.org by lkocman

    Let's do what we can to get https://github.com/...


    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....


    Improve the UX/UI of User Story by cyntss

    Project Description

    User Story is an open...


    Easy openSUSE Upgrade by maverick74

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