Chrony è un daemon Network Time Protocol (NTP) e un sostituto del demone ntpd (Network Time Protocol) standard sulla maggior parte dei sistemi *nix. Chrony è un'implementazione più recente dell'NTP che di solito aggiorna il tempo più velocemente ed è più preciso di ntpd.
In questo esempio, hai impostato tutte le impostazioni necessarie nel tuo /etc/chrony.conf
e ora vuoi usare questa configurazione su tutti i tuoi host. Puoi trasformare il file di configurazione in un modello Ansible e distribuirlo.
Crea un playbook
Supponendo che il tuo /etc/chrony.conf
è simile al seguente:
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
Per distribuire questa configurazione ad altri host utilizzando Ansible, copia questo file in /some/full/path/chrony.conf.j2
sul tuo nodo di controllo Ansible. Quindi puoi utilizzare il seguente playbook per distribuirlo a tutti i tuoi host gestiti.
---
- 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
Questo playbook si assicura innanzitutto che chrony
è installato. Questo è importante perché non avrai un /etc/chrony.conf
se manca il servizio. La seconda attività utilizza il modulo modello Ansible per distribuire la configurazione ai tuoi host. In questo esempio, copia il file esatto negli host e imposta le impostazioni del proprietario e delle autorizzazioni. Esegue un backup da un file esistente prima di sostituirlo. E, ultimo ma non meno importante, il servizio si riavvia per assicurarsi che venga utilizzato il file di configurazione desiderato.
Concludi
Ovviamente, puoi utilizzare un processo cron per eseguire questo playbook, una volta al giorno o ogni 30 minuti, ad esempio, per assicurarti che eventuali modifiche al file vengano ripristinate alla configurazione desiderata. Puoi farlo per qualsiasi servizio di sistema o file di configurazione sui tuoi sistemi in cui è richiesta la coerenza tra tutti gli host.
[ Hai bisogno di più su Ansible? Partecipa a un corso di panoramica tecnica gratuito di Red Hat. Ansible Essentials:Semplicità nell'automazione Panoramica tecnica. ]