VSHN Managed Redis

Problem

We need to provide Redis on Kubernetes with following features:

  • Standalone and Cluster functionality (sentinel)

  • Ability to customize Redis settings

  • Included metrics exporter

  • Backup

  • Regular Maintenance

  • Version Upgrades

Solutions

For Redis there are a few operators available. As well as the Bitnami Helm charts.

The following section contains the operators that have been looked at.

Requirements IBM Operator Spotathome Opstree Bitnami Helmchart

Sentinel and Standalone

❌ no sentinel

❌ no sentinel

Customize Redis Settings

Metrics

Backup

Regular Maintenance

Version Upgrades

Some additional Notes:

  • The IBM Operator is in a very early development stage

  • The Spotathome Operator feels the most mature so far, from the other operators

  • Backup and regular maintenance have to be engineered no matter what solution is chosen

  • The possibility of our own operator was discussed, but with the experience from the PostgreSQL operator, was quickly dismissed

Decision

The instantiation of the Helm Charts will be handled by provider-kubernetes.

Advantages
  • Less complexity than operators, but provides the same features

  • Have been used in SPKS for years now

Disadvantages
  • Bitnami had breaking changes in the past, so we probably run into these in the future as well

If a breaking change occurs there are currently two ideas how to tackle them:

  • Fork the chart and maintain it ourselves

  • Grandfathering out the old chart version. Any new instances will use the new chart and existing ones use the old one.

Further details will be explored in case of breaking changes.

Rationale

Operators add one more layer of complexity to the setup and one more part that can break. In order to justify this added complexity the operators should provide more functionality than a simple Helm Chart. If the functionality of the operators is extended in the future, we can re-evaluate our decision and devise a migration path.

With experience from SPKS we know how the Bitnami Helm Chart works and that it’s capable of satisfying our requirements.