Pod-to-Pod Encryption with Cilium WireGuard
The orientation guide flagged Encryption: Disabled as a task rather than a fact. This is the task: prove the traffic is readable, turn on WireGuard with one ConfigMap key, and prove it is not - with the application none the wiser.
Microservice Vulnerabilities Guide 24 of 40 Advanced
- Kubernetesapiserver v1.36.4, kubelet v1.36.3
- Runtimecontainerd 2.2.6
- CNICilium 1.18.1
- Built withkubeadm v1.36.3
- TimeAbout 20 min
Cilium 1.18.1 with WireGuard, which is in the Linux kernel rather than a userspace proxy. Enabled and turned back off inside these transcripts, because the rest of this path documents a cluster with encryption disabled.
- Host kernel7.0.0-29
| Server Name | IP Address | OS | Roles | CPU | RAM | HDD |
|---|---|---|---|---|---|---|
| CKA6001 | 192.168.0.46 | Ubuntu 26.04 LTS | Control Plane Node (tainted NoSchedule) | 2 Core | 4 GB | 50 GB |
| CKA6001-NODE01 | 192.168.0.47 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
| CKA6001-NODE02 | 192.168.0.48 | Ubuntu 26.04 LTS | Worker Node | 2 Core | 4 GB | 50 GB |
This guide includes
Use this when traffic between nodes has to be encrypted. This matters because Encryption: Disabled is the default - so pod-to-pod traffic crosses the wire in plaintext, which you can capture and read for yourself.
- reading what the CNI is doing today, from the agent and from its ConfigMap
- capturing traffic between two nodes and reading it straight off the wire
- turning encryption on with one ConfigMap key and a restart of the agents
- repeating the identical capture, and counting what changed
- finding what it still does not cover, in that same status line
Before you start
-
What the CNI is doing today
-
Read it off the wire
-
Turn it on
-
The same capture, on the same wire
-
What it does not cover