OPERATING DOCUMENT / NARWHAL

Cluster Architecture

Narwhal 3M+3W node topology, HA control plane, and integration seams.

01 / Context02 / Procedure03 / Operations04 / Verification

Cluster Architecture

Narwhal uses a six-node high-availability (HA) topology with three Control Plane nodes and three Worker nodes to reduce single points of failure.

Node Topology & IP Allocation

Node NameRolevCPU / RAMIP AddressCore Running Services
master-1Control Plane, NFS Host2 CPU / 4 GiB192.168.56.10etcd, kube-apiserver, kube-vip, NFS Server, dnsmasq
master-2Control Plane2 CPU / 4 GiB192.168.56.11etcd, kube-apiserver, kube-vip, dnsmasq
master-3Control Plane2 CPU / 4 GiB192.168.56.12etcd, kube-apiserver, kube-vip
worker-1Platform Infrastructure4 CPU / 8 GiB192.168.56.21Cilium, APISIX, MetalLB, Keycloak, ArgoCD
worker-2Telemetry & Observability4 CPU / 8 GiB192.168.56.22Prometheus, Grafana, Loki, Tempo, OpenBao
worker-3Storage & User Workloads4 CPU / 8 GiB192.168.56.23SeaweedFS S3, CloudNativePG, Narwhal Portal

HA Control Plane (kube-vip + etcd)

Clients use the kube-vip virtual IP at 192.168.56.100 as the Kubernetes API endpoint instead of targeting an individual master address. At any point in time, one Control Plane node owns the VIP. If that node fails, another Control Plane node takes ownership. The three masters also run independent etcd members that form the cluster quorum.

The diagram below shows an example state where master-1 currently owns the VIP. master-2 and master-3 are failover candidates for the API endpoint, while all three nodes run both kube-apiserver and an etcd member.

The two HA mechanisms serve different purposes. kube-vip provides continuity of the API endpoint, while the three-member etcd cluster provides quorum and fault tolerance for Control Plane state.

XFS Project Quota Node Storage

All nodes run on Kube-Ready-Box (dasomel/ubuntu-26.04-xfs) with XFS Project Quotas enabled across /srv/nfs and container storage partitions, preventing storage exhaustion at the kernel level.

DOCUMENT TRACE

Return to the project record to see architecture, development pulse, proof and related field notes in one context.