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

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

  • Comments

    Be the first to comment!

    Similar Projects

    A CLI for Harvester by mohamed.belgaied

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


    HAKube UI plugin for Rancher by epenchev

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


    Hangar: tool for mirror container images & generate rancher image lists. by StarryWang

    Project Description

    Hangar is a tool for ...


    Rancher Upgrader - Upgrades your rancher install via helm, and communicates critical changes from release A to B. by rweir

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


    Predefined app security policy template for NeuVector by feih

    Project Description

    Idea is to predefin...


    Forklift - Text based GUI utility for dealing with containers by andreabenini

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


    Hangar: tool for mirror container images & generate rancher image lists. by StarryWang

    Project Description

    Hangar is a tool for ...


    A set of utilities to produce a "from scratch" OCI/Docker container using Opensuse/SLE rpms by ldragon

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


    Building a container bootloader by flonnegren

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