It is possible for the Aurora executor to announce tasks into ServerSets for the purpose of service discovery. ServerSets use the Zookeeper group membership pattern of which there are several reference implementations:
These can also be used natively in Finagle using the ZookeeperServerSetCluster.
For more information about how to configure announcing, see the Configuration Reference.
Experimental support for populating DiscoveryInfo in Mesos is introduced in Aurora. This can be used to build
custom service discovery system not using zookeeper. Please see Service Discovery
section in
Mesos Framework Development guide for
explanation of the protobuf message in Mesos.
To use this feature, please enable --populate_discovery_info
flag on scheduler. All jobs started by scheduler
afterwards will have their portmap populated to Mesos and discoverable in /state
endpoint in Mesos master and agent.
An example is using Mesos-DNS, which is able to generate multiple DNS
records. With current implementation, the example job with key devcluster/vagrant/test/http-example
generates at
least the following:
http_example.test.vagrant.aurora.mesos
(which only includes IP address);_http_example.test.vagrant._tcp.aurora.mesos
, which includes IP address and every port. This should only
be used if the service has one port._{port-name}._http_example.test.vagrant._tcp.aurora.mesos
for each port name
defined. This should be used when the service has multiple ports. To have this working properly it’s needed to
add -populate_discovery_info
to scheduler’s configuration.Things to note: