Chrony ist ein NTP-Daemon (Network Time Protocol) und ein Ersatz für den ntpd (Network Time Protocol-Daemon), der auf den meisten *nix-Systemen Standard ist. Chrony ist eine neuere Implementierung des NTP, die die Zeit normalerweise schneller aktualisiert und genauer ist als ntpd.
In diesem Beispiel haben Sie alle notwendigen Einstellungen in Ihrer /etc/chrony.conf
vorgenommen , und jetzt möchten Sie diese Konfiguration auf allen Ihren Hosts verwenden. Sie können die Konfigurationsdatei in eine Ansible-Vorlage umwandeln und bereitstellen.
Erstellen Sie ein Playbook
Angenommen, Ihre /etc/chrony.conf
sieht etwa so aus:
server 192.168.0.1 iburst
server 192.168.0.2 iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony
Um diese Konfiguration mit Ansible auf anderen Hosts bereitzustellen, kopieren Sie diese Datei nach /some/full/path/chrony.conf.j2
auf Ihrem Ansible-Steuerknoten. Dann können Sie das folgende Playbook verwenden, um es auf allen Ihren verwalteten Hosts bereitzustellen.
---
- hosts: all
tasks:
- name: make sure chronyd is installed
yum:
name: chrony
state: latest
update_cache: yes
- name: deploy chrony.conf template
template:
src: /some/full/path/chrony.conf.j2
dest: /etc/chrony.conf
owner: root
group: root
mode: 0644
backup: yes
- name: Restart chronyd
service:
name: chronyd
state: restarted
Dieses Playbook stellt zunächst sicher, dass chrony
ist installiert. Das ist wichtig, weil Sie keine /etc/chrony.conf
haben werden wenn der Dienst fehlt. Die zweite Aufgabe verwendet das Ansible-Vorlagenmodul, um Ihre Konfiguration auf Ihren Hosts bereitzustellen. In diesem Beispiel kopiert es die genaue Datei auf die Hosts und legt Eigentümer- und Berechtigungseinstellungen fest. Es erstellt eine Sicherungskopie von einer vorhandenen Datei, bevor es ersetzt wird. Und zu guter Letzt wird der Dienst neu gestartet, um sicherzustellen, dass die gewünschte Konfigurationsdatei verwendet wird.
Abschluss
Natürlich könnten Sie einen Cron-Job verwenden, um dieses Playbook beispielsweise einmal täglich oder alle 30 Minuten auszuführen, um sicherzustellen, dass alle Änderungen an der Datei auf Ihre gewünschte Konfiguration zurückgesetzt werden. Sie können dies für jeden Systemdienst oder jede Konfigurationsdatei auf Ihren Systemen tun, wo Konsistenz zwischen allen Hosts erforderlich ist.
[ Brauchen Sie mehr zu Ansible? Nehmen Sie an einem kostenlosen technischen Überblickskurs von Red Hat teil. Ansible Essentials:Einfachheit in der Automatisierung Technischer Überblick. ]