Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: Add docs about looking up Monitors through DNS
Signed-off-by: Wido den Hollander <wido@42on.com>
- Loading branch information
Showing
2 changed files
with
48 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
=============================== | ||
Looking op Monitors through DNS | ||
=============================== | ||
|
||
Since version 11.0.0 RADOS supports looking up Monitors through DNS. | ||
|
||
This way daemons and clients do not require a *mon host* configuration directive in their ceph.conf configuration file. | ||
|
||
Using DNS SRV TCP records clients are able to look up the monitors. | ||
|
||
This allows for less configuration on clients and monitors. Using a DNS update clients and daemons can be made aware of changes in the monitor topology. | ||
|
||
By default clients and daemons will look for the TCP service called *ceph-mon* which is configured by the *mon_dns_srv_name* configuration directive. | ||
|
||
Example | ||
------- | ||
When the DNS search domain is set to *example.com* a DNS zone file might contain the following elements. | ||
|
||
First, create records for the Monitors, either IPv4 (A) or IPv6 (AAAA). | ||
|
||
:: | ||
|
||
mon1.example.com. AAAA 2001:db8::100 | ||
mon2.example.com. AAAA 2001:db8::200 | ||
mon3.example.com. AAAA 2001:db8::300 | ||
|
||
:: | ||
|
||
mon1.example.com. A 192.168.0.1 | ||
mon2.example.com. A 192.168.0.2 | ||
mon3.example.com. A 192.168.0.3 | ||
|
||
|
||
With those records now existing we can create the SRV TCP records with the name *ceph-mon* pointing to the three Monitors. | ||
|
||
:: | ||
|
||
_ceph-mon._tcp.example.com. 60 IN SRV 10 60 6789 mon1.example.com. | ||
_ceph-mon._tcp.example.com. 60 IN SRV 10 60 6789 mon2.example.com. | ||
_ceph-mon._tcp.example.com. 60 IN SRV 10 60 6789 mon3.example.com. | ||
|
||
In this case the Monitors are running on port *6789*. | ||
|
||
The current implementation in clients and daemons does *not* honor nor respect the weight or priority set in SRV records. | ||
|
||
All records returned will be treated equally in a Round Robin fashion. |