Available in editions: CE, BE, SE, SE+, EE
The module lifecycle stage: General Availability
Provides time synchronization on all cluster nodes using the chrony utility.
How it works
The module starts chrony agents on all cluster nodes.
By default, the NTP server pool.ntp.org is used. The NTP server can be changed via the settings module.
To view the NTP servers used, you can use the command:
d8 k exec -it -n d8-chrony ds/chrony-master -- chronyc -N sources
Ouput example:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* pool.ntp.org. 2 10 377 171 -502us[ -909us] +/- 5388us
^- pool.ntp.org. 2 10 377 666 -5317us[-5698us] +/- 103ms
^+ pool.ntp.org. 2 10 377 938 -201us[ -567us] +/- 5346us
^+ pool.ntp.org. 2 10 377 843 -159us[ -530us] +/- 12ms
^+ - combined NTP server (chrony combines information from combined servers to reduce inaccuracies);
^* - current NTP server;
^- - non-combinable NTP server.
Extra flag -v adds information about meanings of the columns: chronyc sources -v.
chrony agents on master nodes and on other nodes have one main difference - on all nodes that are not masters, the list of NTP servers contains not only NTP servers from module config, but also the addresses of all master nodes of the cluster.
Thus, agents on master nodes synchronize time only from the list of hosts specified in module config (by default from pool.ntp.org). And agents on other nodes synchronize time with the list of NTP servers from module config plus with chrony agents on master nodes.
This is done so that in case of unavailability of NTP servers specified in module config, the time is synchronized with the master nodes.
Third-party components
List of third-party software used in the chrony module:
-
License: GNU General Public License version 2
chrony is a versatile implementation of the Network Time Protocol (NTP)