Guide to enable and use Hubble with Cilium to observe Kubernetes L3/L4 flows and L7 HTTP, install CLI and UI, deploy samples, and validate network policies.
In this guide you’ll learn how to enable and use Hubble (the observability component of Cilium) to inspect L3/L4 flows and, when L7 rules are present, HTTP request/response details inside a Kubernetes cluster. This walkthrough assumes you already have a three-node cluster with Cilium installed via Helm using default values.
2. Enable Hubble Relay and Hubble UI via Helm values
Hubble is bundled with Cilium, but Relay and UI are commonly disabled. To enable them, add the fields below to your Helm values.yaml. See Helm chart values docs for details: https://helm.sh/docs/topics/charts_values/
Copy
# Helm values excerpt (values.yaml)relay: # Enable Hubble Relay (requires hubble.enabled=true) enabled: true # Roll out Hubble Relay pods automatically when configmap is updated. rollOutPods: falseui: # Whether to enable the Hubble UI. enabled: true standalone: # When true, allow installing the Hubble UI only, without checking dependencies. enabled: false
After updating Helm values you must upgrade the release and restart the operator/agents so the new components are started and configuration is picked up.
kubectl exec -it ecom-products-67474db564-q84cs -- bashcurl ecom-user-service:3000# curl: (28) Failed to connect to ecom-user-service port 3000 after <timeout> ms: Couldn't connect to server
Hubble will include policy verdicts in the flow logs:
Note: policy-verdict indicates whether traffic was allowed or denied and at which layer (L3/L4 vs. L7).
To capture and display L7 (HTTP) details in Hubble, include L7 rules (e.g., rules.http) in your CiliumNetworkPolicy. When an L7 rule is present, Hubble can report HTTP requests and responses alongside verdicts.
With the HTTP GET-only policy, Hubble can show HTTP-level details:
If a disallowed L7 method (e.g., POST) is attempted, the application may receive a 403 and Hubble will report the HTTP request/response and the policy-denied status:
Copy
# POST attempt from auth (policy allows only GET)http-request FORWARDED (HTTP/1.1 POST http://ecom-user-service:3000/)http-response DROPPED (HTTP/1.1 403) # example: access denied
Cilium includes a Hubble UI for visualizing service graphs, flows, and flow details. Start the UI helper:
Copy
cilium hubble ui
This command typically sets up a port-forward and prints a local URL you can open in your browser. The UI shows an interactive service graph, a flows table, and detailed per-flow information such as timestamps, verdicts, TCP flags, and HTTP payload metadata.