Network Flow Observability
Observability is a security control when it answers who talked to whom and whether it was allowed. This cluster's CNI already records that for every connection. This guide reads real flows, breaks the traffic with a policy, and reads the drop - then looks at what a flow record deliberately does not contain.
Platform Security Guide 36 of 42 Intermediate
- Kubernetesapiserver v1.36.4, kubelet v1.36.3
- Runtimecontainerd 2.2.6
- CNICilium 1.18.1
- Built withkubeadm v1.36.3
- TimeAbout 16 min
Hubble is part of Cilium and is enabled here. Each agent sees only its own node's traffic; hubble-relay is what joins them. This is network observability and is not a substitute for API audit logging.
- Host kernel7.0.0-29
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| CKA5001 | 192.168.0.41 | Ubuntu 26.04 LTS | Control Plane Node (tainted NoSchedule) | 2 Core | 4 GB | 50 GB |
| CKA5001-NODE01 | 192.168.0.42 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA5001-NODE02 | 192.168.0.43 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA5001-NODE03 | 192.168.0.44 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
This guide includes
Use this when a policy has to be proved rather than assumed. This matters because observability becomes a security control the moment it answers who talked to whom and whether it was allowed - a verdict, not merely a packet count.
- finding what this cluster can already see, before installing anything
- making one request between two Pods and reading the flows it produced
- denying ingress and reading the drop verdict for the identical request
- reading what a flow record contains, and what it does not
Before you start
-
What this cluster can already see
-
Two Pods, one request, and the flows it made
-
The same request after a policy says no
-
What a flow record contains, and what it does not