@@ -105,10 +105,12 @@ ip rule add to $CONTROL_PLANE_NODE dport 2379-2380 lookup main priority 200
105105ip 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
107107ip 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
111112ip 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:
130132To 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```
135151Usage 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
155168In 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
177190mechanism would be a custom resource that specifies exempted traffic and
178191node label-selectors to support arbitrary exemptions on arbitrary nodes.
179192
193+ Might not cover all edge-cases w.r.t IPAM.
194+
180195No IPv6.
181196
182197This is my first go project, it might contain weird code. :3
0 commit comments