akka / akka-management

Akka Management is a suite of tools for operating Akka Clusters.
https://doc.akka.io/docs/akka-management/
Other
256 stars 159 forks source link

ClusterBootstap with akka-dns defaults to SRV records without falling back to A records #384

Open herzrasen opened 5 years ago

herzrasen commented 5 years ago

Hi,

it would be great to (at least) clarify in the docs that by not overwriting the default values of akka.akka.management.cluster.bootstrap.contact-point-discovery.port-name and akka.akka.management.cluster.bootstrap.contact-point-discovery.protocol with "" the DNS mechanism defaults to resolving SRV records, without falling back to A records. It took me several hours to figure out why ClusterBootstrap suddenly stops working. Is there a cause why no A record resolution is tried when no SRV records are found?

chbatey commented 5 years ago

:+1: to documenting this, currently only in the reference.conf: https://github.com/akka/akka-management/blob/master/cluster-bootstrap/src/main/resources/reference.conf

chbatey commented 5 years ago

Trying both would improve first user experience but not sure there is a prod use case for using both for bootstrap?

herzrasen commented 5 years ago

I came across this because Docker Swarm's internal DNS doesn't support SRV records and we had to override the settings to get our cluster to bootstrap.

TimMoore commented 5 years ago

I think falling back to A records, even defaulting to A (or making it configurable) makes a lot of sense. In general, I think SRV lookups should only be necessary when non-default ports are used (which should rarely be required in Kubernetes since each pod gets an IP address).