Host repositories to provision a mesh of Talos clusters ready to use for application development.
The key repositories and their purpose:
- Aggrik8s-net/aggrik8s-fabric provision network resources to host our mesh,
- Aggrik8s-net/aggrik8s-cluster spin up two clusters with task automation for:
- Deploying Cilium on Talos using Terraform and BASH,
- Ceph with Rook on Talos using Terraform and HELM.
We can reliably create and destroy Talos clusters but care needs to be taken with our network fabric.
Canary Example 1: 25% / 75% Traffic Split Across Clusters with Failover describes a multi-cluster application rollout as shown below.
Cilium cluster mesh allows declarative policy to be deployed on Frontend
and Backend
applications for all meshed clusters.
This dramatically simplifies operations workflows such as HA Failover and Canary Deployments.
Our Kubernetes clusters use Aggrik8s-net/aggrik8s-fabric to provision required network resources.
We have two code bases with all development currently focused on the second option, the Talos stack.
- a rancherfederal/rke2-ansible cluster running on 5 Raspberry Pi 5 nodes mounted in an UCTRONICS 1U rack mount,
- an Aggrik8s-net/aggrik8s-cluster cluster mesh running on Proxmox.
Only the Talos implementation is currently published in this GitHub organization.
Talos is our current development platform to deliver immutable clusters for the IoT Edge.
For development purposes, we use Proxmox to spin up two clusters, each having:
- 3
Control Plane
nodes, - 3
Worker
nodes.
The cluster's details are:
talos-east
on VLAN1500 which uses192.168.15.0/24
,talos-west
on VLAN2000 which uses192.168.20.0/24
.
RKE2 is our choice for a Kubernetes distribution to deploy on Linux nodes. Our cluster runs on Raspberry Pi 5 SoC nodes mounted in a 6U travel rack along with the Mikrotik routers and switches.
The cluster details are:
piCluster
on VLAN10 which uses192.168.10.0/24
.
piCluster
is our original development cluster which will eventually be the third cluster in our mesh.
At this time, Talos does not run on Raspberry Pi 5 and having a hybrid mesh seems like a noble goal.
Several Ansible Playbooks initially developed on piNet
have been verified to work on our Talos mesh.
We will (eventually) publish a Aggrik8s-net Day-2 repo
with a collection of Ansible Pplaybooks for replaybooks will be added to this organization in the near future (after tidying up).