Skip to main content
In this guide, you’ll learn how to deploy Cilium as your Kubernetes CNI and enable Hubble observability. We cover both the Cilium CLI and Helm methods, validate network connectivity, and demonstrate how to watch live network flows.

Prerequisites

  • A running Kubernetes cluster (v1.18+).
  • kubectl configured to your target context.
  • Cilium CLI (cilium) installed.
  • Hubble CLI (hubble) installed.
Verify your current context before proceeding:

1. Installation Methods Compared

Mixing CLI and Helm installations without --reuse-values can lead to configuration drift. Always double-check your values before upgrading.

2. Install Cilium with the CLI

At the time of writing, v1.15.4 is the latest stable release. Run:
The --wait flag blocks until all Cilium pods and operators are ready. Verify status:
Expected output:

3. Validate Network Connectivity

Before enabling Hubble, confirm that Cilium networking works end-to-end:
This can take a few minutes. A timeout like:
indicates a readiness issue in one of the test pods.

4. Enable Hubble Observability via Helm

To add Hubble Relay and UI, upgrade your Cilium release in the kube-system namespace:
Re-check Cilium’s status:
You should now see:

5. Port-Forward Hubble Relay & Check Status

Port-forward the Relay service locally:
This sets up:
In a new terminal, query Hubble’s health:
Sample output:

6. Observe Live Network Flows

Stream live traffic and events:
Example event:
You have successfully installed Cilium CNI and enabled Hubble observability on your Kubernetes cluster. Next, explore Cilium network policies and advanced Hubble filtering to secure and monitor traffic in production.

Watch Video

Practice Lab