On Mon, Aug 17, 2020 at 5:34 PM Michalis <
michali...@gmail.com> wrote:
>
> Hi Team
> i have a docker enterprise install on centos, all default configuration (brand new install). When I install metallb using the manifests provided I get the following error on the speaker pod:
>
> {"caller":"main.go:202","component":"MemberList","msg":"memberlist.go:145: [DEBUG] memberlist: Got bind error: Failed to start TCP listener on \"172.16.1.180\" port 7946: listen tcp
172.16.1.180:7946: bind: address already in use","ts":"2020-08-17T15:27:54.078283276Z"}
>
>
> It seems that the default dockerd process is already running on 7946. Am I doing something wrong? How do I configure the metallb to run on a different port?
I think your docker installation shouldn't be using that port at all,
as it shouldn't need to communicate with other docker instances in the
cluster (that is handled by Kubernetes). Changing that seems like the
proper fix, IMHO, although I haven't used docker enterprise and I
don't know if it imposes something like this (seems unlikely, IMHO).
You can workaround that in MetalLB, though. You can use an unreleased
MetalLB version and configure the port since this commit:
https://github.com/metallb/metallb/commit/e3b0abcde2693e1ffa071563e5800f83e5f539bc.
To do that, you can use the v0.9 tag on dockerhub, for example. But
the version will be changed when MetalLB repo changes, etc. and will
probably create more issues than it solves.
But I strongly recommend to look into why docker is listening on that
port and see how to configure to stop doing it (you don't need docker
swarm, etc. for Kubernetes)
If you find what you needed to change to docker, please share to the
list so others benefit too
Best,
Rodrigo