Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.
This repository was archived by the owner on May 14, 2024. It is now read-only.

Kubernetes Statefulset #25

@sigxcpu76

Description

@sigxcpu76

SummitDB is something I've been looking for for ages: RedisDB-like with JSON and secondary index support.
I've successfully set up a cluster on localhost with various ports and tested HA by killing nodes and/or storage, all being successful.
The real destination for this is a Kubernetes cluster. I've managed to create a StatefulSet and there were some tricks required:

  • listen address should be the POD_IP, not 0.0.0.0 and, of course, not 127.0.0.1.

It clusters beautifully, but there one more issue left. The first node that initiates the clustering is stored in cluster database (Raft?) by IP:port.
In a containerized environment IPs are ephemeral, so this will kill the cluster at first node loss.

Now the question is: is it possible to have an "advertise address" parameter that will be used by Raft peering? This way we can have stable Node IDs by using hostnames, which come with a guarantee in a Kubernetes Statefulset.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions