-
-
Notifications
You must be signed in to change notification settings - Fork 564
Description
Problem
I have a network conflict issue. In our case, our EKS clusters use a service CIDR of 172.20.0.0/16.
We are using the --docker option when running telepresence connect. Our engineers use mac osx laptops.
The problem seems to be that occasionally the docker network that telepresence creates picks a 172.20.x address and we get an error like this:
telepresence connect: error: Unable to create network <network name>: Error response from daemon: failed to add interface tp-uc4yvqwkin6q to sandbox: error setting interface "tp-uc4yvqwkin6q" IP to 172.20.0.2/16: cannot program address 172.20.0.2/16 in sandbox interface because it conflicts with existing route {Ifindex: 12 Dst: 172.20.0.0/16 Src: 172.20.0.0 Gw: <nil> Flags: [] Table: 254 Realm: 0}
I was able to fix it for one user by configuring dockers default-address-pools in the engine settings and restarting docker, but I am looking to avoid having to have our engineers do that manual step.
I could be wrong of course but that seems to be the root of the issue, please correct me if I've misunderstood the error.
Solution I'd like
I would like the ability to pass in a --docker-subnet field (or some flag) to telepresence connect and have it use that in the created network.
Alternatives I've considered
Having users configure dockers default-address-pools in the engine settings and restarting docker.
Pre-creating the docker network with a non-conflicting subnet and having telepresence reuse it (I wasn't able to get that working, but if you have suggestions that would be greatly appreciated).
Versions
$ telepresence version
OSS Client : v2.23.6
Root Daemon: not running
User Daemon: not running
$ kubectl version
Client Version: v1.30.14
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.32.9-eks-3cfe0ce