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.
  • over 3 years ago: mkoutny liked this project.
  • over 3 years ago: mlnoga added keyword "containers" to this project.
  • over 3 years ago: mlnoga added keyword "mariadb" to this project.
  • over 3 years ago: mlnoga added keyword "postgresql" to this project.
  • over 3 years ago: mlnoga added keyword "mongodb" to this project.
  • over 3 years ago: mlnoga added keyword "near-zerodowntime" to this project.
  • over 3 years ago: mlnoga added keyword "upgrade" to this project.
  • over 3 years ago: mlnoga added keyword "rancher" to this project.
  • over 3 years ago: mlnoga originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

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

    Project Description

    Hangar is a tool for ...


    HAKube UI plugin for Rancher by epenchev

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


    A CLI for Harvester by mohamed.belgaied

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


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


    Exploring DPDK within containers by paolodepa

    Project Description

    Containerization is h...


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

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


    Package MONAI Machine Learning Models for Medical Applications by jordimassaguerpla

    Project Description

    MONAI Deploy aims to ...


    Containerized home mirror by lkocman

    I'm running a simple home mirror, but I managed...