Skip to content

Commit 4221e81

Browse files
committed
Improve docs
1 parent 4d15fd6 commit 4221e81

1 file changed

Lines changed: 18 additions & 3 deletions

File tree

Readme.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,12 @@ ip rule add to $CONTROL_PLANE_NODE dport 2379-2380 lookup main priority 200
105105
ip rule add to $CONTROL_PLANE_NODE dport 6443 lookup main priority 200
106106
# Now send the rest of traffic to the table that puts everything to the wg interface
107107
ip rule add to $CONTROL_PLANE_NODE lookup 100 priority 201
108+
ip rule add to $POD_CIDR_OF_CONTROL_PLANE_NODE lookup 100 priority 201
108109

109110
# For every $WORKER_NODE
110111
# Regular nodes don't need exemptions
111112
ip rule add to $WORKER_NODE lookup 100 priority 201
113+
ip rule add to $POD_CIDR_OF_WORKER_NODE lookup 100 prior
112114
```
113115

114116
## The bootstrap problem
@@ -130,6 +132,20 @@ persisted anywhere. This can create the following situation:
130132
To avoid this problem, cilium exempts control-plane nodes from node-to-node encryption.
131133

132134
## Usage
135+
> [!WARNING]
136+
> Again, this is experimental software!
137+
138+
Your cilium chart config needs to contain the following:
139+
```yaml
140+
routingMode: native
141+
ipv4NativeRoutingCIDR: "Your.Entire.Cluster.CIDR/Mask"
142+
encryption:
143+
enabled: true
144+
type: wireguard
145+
```
146+
147+
You can use the kubernetes manifests in [./k8s](./k8s) as reference for deployment. The
148+
`netshoot-daemonset` is just for troubleshooting / debugging.
133149

134150
```
135151
Usage of ./nodeCryptor:
@@ -147,9 +163,6 @@ Usage of ./nodeCryptor:
147163
Add a noop route to the specified destination
148164
```
149165
150-
You can use the kubernetes manifests in [./k8s](./k8s) as reference. The
151-
`netshot-daemonset` is just for troubleshooting. Please note the below:
152-
153166
## Why the noop route?
154167
155168
In all my testing I have observed that cluster traffic will not be affected by ip rules
@@ -177,6 +190,8 @@ It only distinguishes two types of nodes: control-plane and workers. A more gene
177190
mechanism would be a custom resource that specifies exempted traffic and
178191
node label-selectors to support arbitrary exemptions on arbitrary nodes.
179192

193+
Might not cover all edge-cases w.r.t IPAM.
194+
180195
No IPv6.
181196

182197
This is my first go project, it might contain weird code. :3

0 commit comments

Comments
 (0)