Skip to main content

2,000 IoT Devices Were Clogging the Network. The Day Push Metrics Bit Back in a Hybrid K3s Deployment

Why Choosing K3s for "Being Lightweight" Alone Can Backfire

Comparison chart of K3s/K8s/MicroK8s binary size and memory requirements

When teams evaluate K3s for edge operations, the reason almost always starts with "it's lightweight." That's fair: K3s packs the full feature set of Kubernetes into a single binary, and its minimum requirements are just 2 cores / 2GB RAM for a server node and 1 core / 512MB RAM for an agent node (K3s official documentation). The binary itself is only around 40MB, and it supports not just x86_64 but ARM64 and ARMv7 too, meaning it can run on industrial gateways and Raspberry Pi-class devices (Publickey).

This lightweight design is also backed by its adoption as a CNCF Sandbox project in August 2020, and it remains an actively developed CNCF project today (CNCF Projects: K3s). SUSE, the company behind Rancher, cites K3s's ability to run on 512MB of RAM and a single CPU core, plus single-command cluster setup, as a key differentiator from standard Kubernetes (SUSE official blog).

But once you actually run thousands of devices in production, design decisions surface that "lightweight" alone doesn't explain. In one large-scale IoT deployment, a fleet of over 2,000 edge devices was consolidated under K3s clusters, chosen for its single binary, low memory footprint, and ARM support — yet the operations phase revealed an unexpected cost. That cost wasn't CPU or memory. It was network bandwidth.

When evaluating a K3s-based managed service like Kubo, it's worth looking past "lightweight" and into these deeper design tradeoffs.

The "Hybrid Cluster" Design That Spans Cloud and Edge

Architecture diagram of a hybrid cluster with a cloud control plane and edge K3s worker nodes

A common pattern in large-scale edge deployments is the "hybrid cluster": the control plane runs on a managed Kubernetes service in the cloud, while each distributed device in the field joins that cluster as a K3s worker node. This design echoes the "Hub & Spoke" architecture that Rancher (SUSE) recommends, whose official documentation explicitly states that the cluster running the management-facing Rancher server should be kept separate from the downstream user clusters that run actual workloads (Rancher official: Architecture Recommendations).

The benefits of this setup are clear. Control plane availability, scaling, and backups are handled by the cloud-side managed service, freeing the operations team to focus on managing edge worker nodes. K3s's built-in declarative management and self-healing mean that even when a device in the field fails, the control plane automatically works to restore the desired state.

What's often overlooked, though, is the traffic flowing between the control plane and worker nodes. Kubernetes is fundamentally a system that continuously reconciles toward a "desired state," and as the number of worker nodes grows, so does the volume of reconciliation and metrics-collection traffic. If you're only watching cloud-side CPU usage or control plane load, you'll be slow to notice this invisible network cost.

With a managed K3s service like Kubo, built-in GitOps support and standard Prometheus + Grafana monitoring offer a way to externalize the operational burden of managing this kind of hybrid setup.

The Day Push Metrics Bit Back — The Truth Behind 700MB Per Device Per Day

Comparison diagram of push-based vs. pull-based metrics collection data flow

Prometheus, the standard monitoring tool in the Kubernetes world, is built around a "pull" model, where the Prometheus server periodically scrapes each target. But Prometheus's own documentation states that using the Pushgateway should be limited to "very specific cases, like service-level batch jobs," and warns that funneling multiple instances through a single Pushgateway can create a single point of failure, and that Prometheus's auto-generated up metric (used for liveness monitoring) is lost in the process (Prometheus official: When to use the Pushgateway).

Even so, in the world of edge devices with intermittent connectivity, push often wins out over pull. A push model, where the device actively sends its own metrics, is easier to work with when collecting telemetry from large numbers of devices sitting behind firewalls and NAT.

But this is exactly where the push-based design choice bites back. In one large-scale edge deployment, in exchange for the benefits of declarative management and self-healing, push-based metrics collection reportedly generated roughly 700MB of network overhead per device per day. At a scale of 2,000 devices, that's a simple calculation of roughly 1.4TB of traffic flowing from the edge to the cloud every single day. A small number per device becomes a bandwidth and cost problem at the fleet level.

What makes this worse is that as the number of worker nodes grows, so does the difficulty of troubleshooting. More points in the network mean more places for something to go wrong, making it harder to tell whether an issue is "the application, K3s itself, or the metrics collection path."

The edge computing market was estimated at roughly $26.1 billion in 2025 and is projected to grow to roughly $38 billion by 2028 (IDC research, reported by The Fast Mode). As the number of connected devices keeps climbing, this kind of network-cost design decision will only become more consequential (Edge Computing Market research).

A Design Checklist Often Overlooked in Large-Scale Edge Operations

Decision flowchart for choosing between push and pull metrics collection

When designing a K3s edge deployment at the scale of thousands of devices, turning the following points into a pre-launch checklist can reduce post-production surprises.

Device count vs. metrics collection method fit

  • Tens to hundreds of devices: pull-based scraping by Prometheus directly still scales comfortably at this range
  • Thousands of devices: if going with push, account for the single-point-of-failure risk of the Pushgateway (Prometheus official documentation) by adding redundancy at the aggregation layer, or by mixing push and pull based on each device's available memory

Estimating network bandwidth cost

  • If choosing push, estimate monthly cost up front as: expected data sent per device × device count × the billing rate of the transport path
  • Also confirm whether the cloud side charges for ingress traffic

Designing failure-isolation layers

  • Prepare a dashboard design in advance that can quickly pinpoint which layer — control plane, worker node, or metrics-collection path — a failure is occurring in
  • As network layers increase, the benefits of "declarative management and self-healing" trade off against the cost of "more complex troubleshooting"

Don't let "lightweight" be the whole reason you choose K3s

  • Beyond the onboarding benefits of a single binary, low memory footprint, and ARM support, factor the operational-phase network cost and incident-response cost into your evaluation criteria

Building all of this design and monitoring capability in-house is far from trivial. Kubo Cloud ships with Prometheus + Grafana monitoring built into its K3s-based management platform, along with GitOps (ArgoCD/Flux) integration, so this kind of hybrid K3s design and monitoring comes built in from the start. Compared to EKS/AKS/GKE, Kubo also starts at ¥48,000/month for a 4vCPU/8GB/40GB × 3-node configuration, making it a compelling option on cost efficiency as well.

Summary

The essential value of K3s is enabling infrastructure that "runs anywhere" — not just in the cloud, but in factories, stores, and vehicles. But to realize that value in production, you need to look past the entry-point reason of "it's lightweight" and into the communication design of hybrid cluster architectures, the push/pull tradeoff, and the design of failure-isolation layers.

What a 2,000-device edge deployment revealed wasn't the lightweight nature of K3s itself, but the importance of understanding exactly what operations teams take on in exchange for that lightness. Anyone planning a large-scale edge Kubernetes deployment should factor in these hidden costs when making technology decisions.

If you don't have the resources to build this level of design and monitoring in-house, consider adding a K3s-based managed service like Kubo to your comparison list. For hybrid architecture or edge deployment consultations, reach out via Contact Us.

Related articles

← Back to all posts