Skip to content

spike: seperate out each validator to its own StatefulSet #301

Open
@Anmol1696

Description

@Anmol1696

Overview

With implementation of ingress, and routing traffic to individual pods of a StatefulSets is non trival, might require embeding envoy proxy with istio.

Currently

Each chain is represented with 2 statefulsets:

  • genesis: 1 replica
  • validator: n replica
    Number of validators exposed to users is a simple number that can be set. Internal routing of traffic to individual validator is based on the headless service for the validator and use: validator-<n>.validator.$NAMESPACE.svc.cluster.local. But this is not available for simple ingress rules

Proposal

An alternative to current approach of 1 statefulset, is to just have multiple statefuls per validator. This will add the overhead of many Statefulset, but will reduce the overhead of tricky networking to route traffic.

Additional benifits: Each validator will have its own service

Alternatives

  • CRDS: starting to look promissing, we can simplify our own overhead of services, statefulsets etc. Not sure what this will look like though
  • Service mesh would need to integrated anyways for observability. It just might make sense to have a reverse proxy in place, then we could route traffic via the istion-ingress to individual pods of the stateful sets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions