Chrony es un demonio de Network Time Protocol (NTP) y un reemplazo para el ntpd (Network Time Protocol demonio) que es estándar en la mayoría de los sistemas *nix. Chrony es una implementación más nueva de NTP que generalmente actualiza el tiempo más rápido y es más preciso que ntpd.
En este ejemplo, ha establecido todas las configuraciones necesarias en su /etc/chrony.conf
, y ahora desea utilizar esta configuración en todos sus hosts. Puede convertir el archivo de configuración en una plantilla de Ansible e implementarla.
Crear un libro de jugadas
Suponiendo que su /etc/chrony.conf
se parece a lo siguiente:
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
Para implementar esta configuración en otros hosts mediante Ansible, copie este archivo en /some/full/path/chrony.conf.j2
en su nodo de control de Ansible. Luego, puede usar el siguiente libro de jugadas para implementarlo en todos sus hosts administrados.
---
- 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
Este libro de jugadas primero se asegura de que chrony
esta instalado. Eso es importante porque no tendrá un /etc/chrony.conf
si falta el servicio. La segunda tarea utiliza el módulo de plantilla de Ansible para implementar su configuración en sus hosts. En este ejemplo, copia el archivo exacto en los hosts y establece la configuración de propietario y permiso. Hace una copia de seguridad de un archivo existente antes de reemplazarlo. Y por último, pero no menos importante, el servicio se reinicia para asegurarse de que se utilizará el archivo de configuración deseado.
Resumir
Por supuesto, puede usar un trabajo cron para ejecutar este libro de jugadas, una vez al día o cada 30 minutos, por ejemplo, para asegurarse de que cualquier cambio en el archivo se restablezca a la configuración deseada. Puede hacer esto para cualquier servicio del sistema o archivo de configuración en sus sistemas donde se requiera coherencia entre todos los hosts.
[ ¿Necesita más información sobre Ansible? Realice un curso gratuito de descripción técnica de Red Hat. Ansible Essentials:descripción técnica de la simplicidad en la automatización. ]