Требуемые условия завершения
Задача:
- Project 1 – Установка и настройка NTP клиента Chrony
- Проект должен быть выполнен средствами Ansible
- Используйте папку project_1
- В качестве плейбука используйте файл playbook_1.yml в каталоге project_1
- Проект должен содержать действия по установке и настройке NTP клиента Chrony включая настройку необходимого часового пояса
- Использование плагина shell и command НЕ допускается
Вариант реализации:
ANS:
- Из под пользователя user переходим в директорию /opt/ansible:
cd /opt/ansible
- Создаём первый playbook_1.yml в директории project_1:
vim project_1/playbook_1.yml
-
- Содержимое playbook_1.yml:
- данный playbook - выполняет следующее:
- устанавливает настройку необходимого часового пояса - определённого в переменной timezone;
- устанавливает пакет chrony;
- в зависимости от дистрибутива - копирует на него заранее подготовленный шаблон конфигурационного файла chrony.conf - в формате jinja2;
- перезупускается служба chronyd
- данный playbook - выполняет следующее:
- Содержимое playbook_1.yml:
---
- name: Project_1 - Installing and configuring the Chrony NTP client
hosts: Astra Redos
become: true
vars:
timezone: Europe/Moscow
chrony_server: "192.168.100.254"
tasks:
- name: "Set timezone to {{ timezone }}"
community.general.timezone:
name: "{{ timezone }}"
- name: Install chrony
ansible.builtin.package:
name: chrony
state: present
- name: "Copy template chrony.conf on {{ ansible_os_family }}"
ansible.builtin.template:
src: template/astra_chrony.conf.j2
dest: /etc/chrony/chrony.conf
when:
- ansible_os_family == "Astra Linux (Orel)"
- name: "Copy template chrony.conf on {{ ansible_os_family }}"
ansible.builtin.template:
src: template/redos_chrony.conf.j2
dest: /etc/chrony.conf
when:
- ansible_os_family == "RED"
- name: Restarted chrony
ansible.builtin.systemd:
name: chronyd
state: restarted
enabled: true
- Создаём директорию для хранения файлов - шаблонов:
mkdir project_1/template
- Создаём файл - шаблона для ОС на базе Astra (srv-a):
vim project_1/template/astra_chrony.conf.j2
-
- Содержимое:
- содержимое просто скопировано из файла /etc/chrony/chrony.conf c srv-a - убраны комментарии, а также добавлена переменная chrony_server которая определена в playbook_1
- Содержимое:
- Создаём файл - шаблона для ОС на базе Redos (srv-r):
vim project_1/template/redos_chrony.conf.j2
-
- Содержимое:
- содержимое просто скопировано из файла /etc/chrony.conf c srv-r - убраны комментарии, а также добавлена переменная chrony_server которая определена в playbook_1
- Содержимое:
- Устанавливаем необходимую для работу ansible - коллекцию:
- из под пользователя user
ansible-galaxy collection install community.general
- Выполняем запуск playbook - сценария:
- из под пользователя user
ansible-playbook project_1/playbook_1.yml
-
- Результат:
- На RTR - можно проверить клиентов chrony:
Последнее изменение: среда, 3 июля 2024, 14:34