Can namerd be used for registering a service

I need a bit of clarification about the role of namerd.

To register a service for dynamic discovery, in linkerd, I use keys

  • router.protocol.announcers (and define zookeeper as the KV store)
  • router.protocol.servers.announce (using a reference to the above zookeeper KV store)

Can linkerd call namerd to register a service for dynamic discovery or is namerd used ONLY to resolve dtabs for routing purposes ?

Namerd is only used to resolve routing information. Namerd reads dtabs and from service discovery to do this.

In most scheduled environments (e.g. marathon, kubernetes) there is no need to explicitly announce because the scheduler already knows the location of all running instances. If you do need to explicitly announce to service discovery, a linkerd announcer can be configured. Namerd is not involved in this.

1 Like