diff options
| author | Kleidi Bujari <mail@4kb.net> | 2025-09-12 20:57:59 -0700 |
|---|---|---|
| committer | Kleidi Bujari <mail@4kb.net> | 2025-09-12 21:00:27 -0700 |
| commit | fe96211bb8dc81fde57bf6900b840e69f2b218fc (patch) | |
| tree | ff1c63e7962c6373199b94b8fd236b15e3441244 /packages/web/site/content/posts/stateless-compute-networks.md | |
| parent | ab58c69b6db2902688841a4008221f72bbbb8692 (diff) | |
| download | depot-fe96211bb8dc81fde57bf6900b840e69f2b218fc.tar.gz depot-fe96211bb8dc81fde57bf6900b840e69f2b218fc.tar.bz2 depot-fe96211bb8dc81fde57bf6900b840e69f2b218fc.zip | |
move packages to overlay and expose certain packages
Diffstat (limited to 'packages/web/site/content/posts/stateless-compute-networks.md')
| -rw-r--r-- | packages/web/site/content/posts/stateless-compute-networks.md | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/packages/web/site/content/posts/stateless-compute-networks.md b/packages/web/site/content/posts/stateless-compute-networks.md new file mode 100644 index 0000000..bac9e5d --- /dev/null +++ b/packages/web/site/content/posts/stateless-compute-networks.md @@ -0,0 +1,41 @@ +--- +title: "On stateless compute networks" +date: "2024-11-10" +draft: true +--- + +On the topic of distributed systems and clustering, +I am quite invested in the idea of compute nodes that rely entirely on the network for configuration. +Arbitrary nodes can join a pre-existing cluster, +offering their CPU time and memory for computation without relying on any pre-existing configuration on the node itself. +In other words, any computer could pick up work, +only needing power and a network connection to the cluster. + +Perhaps this eventually leads into a "self-healing" cluster where only one node is manually bootstrapped, +which then serves a _configuration endpoint_ for other stateless nodes to reach out to for their instructions, +which they will then also serve once they are themselves ready. + +Early revisions of these notes mention Kubernetes, +but I am also trying to achieve similar results with NixOS on a custom project. +In any case, these are my ever-updating notes towards a general implementation of a stateless distributed systems architecture. + +## Self healing cluster + +Assuming control of an external DHCP server, +a self healing Kubernetes cluster would be feasible, +with the PXE boot artifacts supplied by the cluster itself. +That is, as long as one node is running the pod hosting the artifacts on a given endpoint, +other nodes can boot those artifacts and join the cluster, +thereby being able to host the artifacts as well. + +## Configuration endpoint + +The nodes shouldn't require a disk installed to be able to join the network. +Rather, the lofty goal of zero-configuration compute nodes passes the job of node initialization to the supporting network. +This is accomplished with PXE boot instructions supplied over DHCP. + +I delegate the following tasks to a single node in the subnet: + +- Gateway: Optional outbound connections if required +- DHCP server: Cluster IPAM +- TFTP and HTTP server: Serves iPXE firmware and kernel/initrd artifacts |
