Внесение изменений с помощью модулей Ansible
Мы хотим установить NTP - демон на сервере, чтобы время синхронизации было синхронизировано. Вместо запуска команды yum install -y ntp
на каждом из серверов, мы будем использовать модуль Ansible "yum".
ansible multi -s -m yum -a "name=ntp state=present"
Вы должны увидеть три сообщения ‘success’, без сообщений об изменениях, поскольку NTP уже был установлен на трех компьютерах.
Параметр
-s
(аналог--sudo
) указывает Ansible на выполнение команды с sudo. Этоn подход будет работать с нашими виртуальными машинами Vagrant, но если вы будете выполнять команды на сервере, где учетная запись пользователя требует sudo пароля, следует также передать параметр-K
(аналог--ask-sudo-pass
), чтобы вы могли ввести sudo пароль.
Теперь мы убедимся, что NTP работает и запускается при загрузке. Мы могли бы использовать две отдельные команды, service ntpd start
и chkconfig ntpd on
, но вместо этого мы используем модуль Ansible service
.
ansible multi -s -m service -a "name=ntpd state=started enabled=yes"
Все три сервера должны показать сообщение об успехе:
Если снова выполнить ту же команду, Ansible сообщит, что ничего не изменилось, поэтому значение "changed" станет false.
Последнее, что нам следует сделать, это проверить, что наши серверы синхронизированы с официальным временем на сервере NTP:
ansible multi -s -a "service ntpd stop"
ansible multi -s -a "ntpdate -q 0.rhel.pool.ntp.org"
ansible multi -s -a "service ntpd start"
Для запуска сервиса ntpdate
нам придется остановить сервис ntpd
. После запуска ntpdate
нужно заново запустить ntpd
.