Skip to content

Allow choosing docker network subnet #4005

@dweebo

Description

@dweebo

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions