Challenge
DifficultyEasy
Learner activity No attempts yet

Install Falco for Runtime Security Monitoring Using Helm

Add the Falco Helm repository, install Falco with modern eBPF driver and Falcosidekick UI enabled, then upgrade the Falcosidekick UI service to NodePort.

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

  1. Add the falcosecurity Helm repository and update it.
  2. Install Falco in the falco namespace using the falcosecurity/falco chart with the following settings:
    • driver.kind=modern_ebpf
    • falco.json_output=true
    • falco.json_include_output_property=true
    • falco.log_stderr=true
    • falco.log_syslog=false
    • falcosidekick.enabled=true
    • falcosidekick.webui.enabled=true
  3. Wait for all Falco pods to be in Ready state, then use helm upgrade to change the falco-falcosidekick-ui service from ClusterIP to NodePort with a fixed node port of 32099 by setting:
    • falcosidekick.webui.service.type=NodePort
    • falcosidekick.webui.service.nodePort=32099

    Do not use kubectl 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


⚒ Test Cases
Problem
Solution
Start