Files
swaphb 5c1e6205a7
Kube-bench CIS scan / Scan ephemeral K3s cluster (push) Successful in 1m0s
document Falco runtime topology
2026-08-15 14:22:56 -04:00

2.3 KiB

Runtime detection topology

Falco observes kernel activity. The topology used for local validation affects how many Falco instances can observe the same event.

Local k3d validation

The local test environment runs three k3d node containers on one Flatcar VM:

Flatcar host kernel
├── k3d server container with Falco
├── k3d agent container with Falco
└── k3d agent container with Falco

k3d nodes are containers, not independent virtual machines. They share the Flatcar host kernel. Because each Falco DaemonSet Pod observes kernel events, multiple Falco Pods can report the same underlying process or syscall event. This explains duplicate Slack notifications during local demonstrations.

This behavior is a limitation of the test topology, not evidence that Falco is detecting separate workload executions. The local cluster still demonstrates the admission-to-runtime security flow and verifies that the custom rule fires.

Production-style validation

The production-style path uses separate Flatcar or cloud VMs for cluster nodes:

VM 1 kernel -> Falco -> workloads on VM 1
VM 2 kernel -> Falco -> workloads on VM 2
VM 3 kernel -> Falco -> workloads on VM 3

Each VM has its own kernel. A single process event should normally be observed by the Falco instance on the node hosting that workload. This removes the shared-kernel duplication caused by the local k3d layout.

Production deployments can still produce legitimate repeated alerts when:

  • A workload is replicated across multiple nodes.
  • Events are forwarded through more than one collector.
  • Multiple Falco event sources describe the same activity.
  • The central alerting system does not deduplicate equivalent events.

For that reason, production alerting should use priority filtering, event aggregation, and an explicit deduplication strategy. This project currently filters Slack notifications to WARNING and higher while retaining lower priority events in Falco logs.

Portfolio interpretation

The local k3d environment is optimized for reproducibility and cost. The separate-VM path is the more realistic validation environment for kernel-level runtime detection. Results from the two paths should be labeled accordingly when presenting screenshots, alert counts, or demo recordings.