Skip to main content

Requirements

Heir has two base requirements, the first is regarding the underlying Kubernetes Cluster where the control plane runs (the so-called management cluster), and the second related to the host where the worker nodes run.

Architecture​

As of now, Heir runs on the following architectures:

  • x86_64
  • arm64/aarch64

Operating System​

Although it can run in more operating systems, Heir has been tested against the operating systems listed below:

  • Ubuntu - 22, 24 LTS
  • Amazon Linux - 2023

Management Cluster​

The management cluster hosts the Heir control plane. Any conformant Kubernetes distribution works.

ResourceMinimumRecommended
Kubernetes version1.31+Latest stable
CPU2 vCPUs4 vCPUs
Memory2 GB4 GB

Worker Nodes (Data Plane)​

Each worker node runs the Heir data plane binary.

ResourceMinimumRecommended
CPU1 vCPU2+ vCPUs
Memory512 MB2+ GB
OSLinux (kernel 5.4+)Linux (kernel 6.x)

Network​

Heir's network model is intentionally simple: all connections are initiated by worker nodes toward the control plane. The control plane never needs to reach worker nodes directly, requests from the control plane to workloads running on workers are performed through multiplexing over the same outbound connection established by the worker. This means Heir works correctly in air-gapped environments, edge computing deployments, and in topologies where the control plane and worker nodes live in separate networks, as long as workers can reach the control plane endpoints. Heir workers perfectly well in scenarios where worker nodes sit behind firewalls or NAT with no inbound rules required, making it straightforward to manage worker nodes from control planes running on Highly Available Managed Kubernetes services (EKS, GKE, AKS, DOKS, etc...) acting as Management Cluster.

Heir is distributed with Flannel as the default CNI plugin for pod networking.

ProtocolPortSourceDestinationDescription
TCPconfigured via cluster.controlPlaneExternalEndpoint.apiServer.portWorker nodesControl planeKubernetes API server
TCPconfigured via cluster.controlPlaneExternalEndpoint.planeTunnel.portWorker nodesControl planeControl plane to worker node multiplexed communication (plane tunnel)
UDP8472Worker nodesWorker nodesFlannel VXLAN overlay — pod-to-pod traffic across nodes