Edge environments need highly available infrastructure but due to scale, they also need to reduce costs wherever possible. Lowering compute hardware costs by 1/3 can be the difference between success and failure in launching an edge Kubernetes offering.
This project looks to create a reliable, two node, stand-alone, highly-available K3s cluster.
While doing this completely stand-alone may not be possible, part of the goal is to minimize the external dependencies as much as possible. Those would be things like shared storage, external network resources (including external "witness" services), network-accessed databases and/or backup/synchronization targets, etc.
Currently there are three designs being considered: the etcd design exists in a rough draft. There has been basic framework testing for Keepalived, but little has been documented. NATS/Jetstream remains in an early stage of ideation.
Goal for this Hackweek
The goal will be to create at least one design to meet the description. There are currently three possible designs under consideration: 1) etcd running outside of K3s 2) A SQL database with HA functionality orchestrated through Keepalived 3) NATS/Jetstream
If we have the capacity, even better would be to build out more than one design to allow for head-to-head comparison.
Very helpful would be people who: - Can write clean shell scripts (There is a lot of interconnected logic in managing different node and failure states) - Will to perform organized iteration testing and document the results - Can write good documentation on how to replicate the designs - Understand SQL and can help integrate it into shell scripts
K3s edge Kubernetes HA
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 22
This project is one of its kind!