Install Falco for Runtime Security Monitoring Using Helm
Scenario
Your cluster needs runtime security monitoring. Falco is a CNCF runtime security tool that watches system calls and Kubernetes events, alerting on suspicious behaviour — such as a shell being opened inside a container, unexpected file writes to sensitive paths, or privilege escalation attempts.
You will install Falco using Helm with the modern eBPF driver (no kernel module required), enable the Falcosidekick UI for a web-based event dashboard, and upgrade the Falcosidekick UI service from ClusterIP to NodePort so it is externally accessible.
Task
- Add the
falcosecurityHelm repository and update it. - Install Falco in the
falconamespace using thefalcosecurity/falcochart with the following settings:driver.kind=modern_ebpffalco.json_output=truefalco.json_include_output_property=truefalco.log_stderr=truefalco.log_syslog=falsefalcosidekick.enabled=truefalcosidekick.webui.enabled=true
- Wait for all Falco pods to be in
Readystate, then usehelm upgradeto change thefalco-falcosidekick-uiservice fromClusterIPtoNodePortwith a fixed node port of32099by setting:falcosidekick.webui.service.type=NodePortfalcosidekick.webui.service.nodePort=32099
Do not usekubectl edit.
Hint 1 — Add and Update the Helm Repository
Helm repositories must be added before you can install charts from them. After adding, always run helm repo update to fetch the latest chart versions.
helm repo add <name> <url>
helm repo update
Documentation
Hint 2 — Install with Custom Values
Pass each configuration field using --set key=value flags on the helm install command. Use --create-namespace so Helm creates the falco namespace if it does not exist.
helm install <release-name> <chart> \
--namespace <namespace> \
--create-namespace \
--set key1=value1 \
--set key2=value2
Documentation
Hint 3 — Upgrade the Falcosidekick UI Service to NodePort
Use helm upgrade with --reuse-values to keep all existing settings and only override the service type and node port for the Falcosidekick UI.
helm upgrade <release-name> falcosecurity/falco \
--namespace <namespace> \
--reuse-values \
--set falcosidekick.webui.service.type=NodePort \
--set falcosidekick.webui.service.nodePort=32099
Documentation