I am using memberlist in a kubernetes environment. Kubernetes doesn't doesn't provide a nice experience for exposing mixed protocol ports externally via loadblanacers. I'd like to use just TCP or UDP, but I need to send reliable messages – I think that means TCP is my only option?
Unfortunately when I use tcp-only load balancers or nodeports memberlist nodes are not able to assemble. The nodes are able to establish a tcp connection (Initiating push/pull sync) but for some reason are unable to ack:
node joined: test-1
memberlist: Initiating push/pull sync with: 10.0.0.10:4001
memberlist: Suspect test-1 has failed, no acks received
memberlist: Suspect test-1 has failed, no acks received
memberlist: Marking test-1 as failed, suspect timeout reached (0 peer confirmations)
It would be good to clarify in the docs whether this is possible, because it's really unclear at the moment. If it's not possible, I wonder what it would take to make this work?
I am using memberlist in a kubernetes environment. Kubernetes doesn't doesn't provide a nice experience for exposing mixed protocol ports externally via loadblanacers. I'd like to use just TCP or UDP, but I need to send reliable messages – I think that means TCP is my only option?
Unfortunately when I use tcp-only load balancers or nodeports memberlist nodes are not able to assemble. The nodes are able to establish a tcp connection (
Initiating push/pull sync
) but for some reason are unable to ack:It would be good to clarify in the docs whether this is possible, because it's really unclear at the moment. If it's not possible, I wonder what it would take to make this work?