- Допишите playbook: нужно сделать ещё один play, который устанавливает и настраивает LightHouse.
- При создании tasks рекомендую использовать модули: get_url, template, yum, apt.
- Tasks должны: скачать статику LightHouse, установить Nginx или любой другой веб-сервер, настроить его конфиг для открытия LightHouse, запустить веб-сервер.
root@devopsserver:/home/flid# ansible-playbook playbook1.yml -i inventory/prod.yml
PLAY [Install Clickhouse] *****************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [clickhouse-01]
TASK [Clickhouse | Get clickhouse distrib] ************************************************************************************************************************************************************************
ok: [clickhouse-01] => (item=clickhouse-client)
ok: [clickhouse-01] => (item=clickhouse-server)
failed: [clickhouse-01] (item=clickhouse-common-static) => {"ansible_loop_var": "item", "changed": false, "dest": "./clickhouse-common-static-22.3.3.44.rpm", "elapsed": 0, "gid": 1000, "group": "mag", "item": "clickhouse-common-static", "mode": "0664", "msg": "Request failed", "owner": "mag", "response": "HTTP Error 404: Not Found", "secontext": "unconfined_u:object_r:user_home_t:s0", "size": 246310036, "state": "file", "status_code": 404, "uid": 1000, "url": "https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-22.3.3.44.noarch.rpm"}
TASK [Clickhouse | Get clickhouse distrib] ************************************************************************************************************************************************************************
ok: [clickhouse-01]
TASK [Install clickhouse packages] ********************************************************************************************************************************************************************************
ok: [clickhouse-01]
TASK [Create database] ********************************************************************************************************************************************************************************************
ok: [clickhouse-01]
PLAY [Install Vector] *********************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [vector-01]
TASK [Vector | Download packages] *********************************************************************************************************************************************************************************
ok: [vector-01]
TASK [Vector | Install packages] **********************************************************************************************************************************************************************************
ok: [vector-01]
TASK [Vector | Apply template] ************************************************************************************************************************************************************************************
[WARNING]: The value 1000 (type int) in a string field was converted to u'1000' (type string). If this does not look like what you expect, quote the entire value to ensure it does not change.
ok: [vector-01]
TASK [Vector | change systemd unit] *******************************************************************************************************************************************************************************
ok: [vector-01]
PLAY [Install lighthouse] *****************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | Install git] ***********************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | install epel-release] **************************************************************************************************************************************************************************
changed: [lighthouse-01]
TASK [Lighhouse | Install nginx] **********************************************************************************************************************************************************************************
changed: [lighthouse-01]
TASK [Lighthouse | Apply nginx config] ****************************************************************************************************************************************************************************
changed: [lighthouse-01]
TASK [Lighthouse | Clone repository] ******************************************************************************************************************************************************************************
changed: [lighthouse-01]
TASK [Lighthouse | Apply config] **********************************************************************************************************************************************************************************
changed: [lighthouse-01]
RUNNING HANDLER [Nginx reload] ************************************************************************************************************************************************************************************
changed: [lighthouse-01]
PLAY RECAP ********************************************************************************************************************************************************************************************************
clickhouse-01 : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=1 ignored=0
lighthouse-01 : ok=8 changed=6 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
vector-01 : ok=5 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0- Подготовьте свой inventory-файл prod.yml. 5.Запустите ansible-lint site.yml и исправьте ошибки, если они есть.
- Попробуйте запустить playbook на этом окружении с флагом --check.
root@devopsserver:/home/flid# ansible-playbook prod1.yml -i inventory/prod.yml --check
PLAY [Install Clickhouse] *****************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [clickhouse-01]
TASK [Clickhouse | Get clickhouse distrib] ************************************************************************************************************************************************************************
ok: [clickhouse-01] => (item=clickhouse-client)
ok: [clickhouse-01] => (item=clickhouse-server)
failed: [clickhouse-01] (item=clickhouse-common-static) => {"ansible_loop_var": "item", "changed": false, "dest": "./clickhouse-common-static-22.3.3.44.rpm", "elapsed": 0, "gid": 1000, "group": "mag", "item": "clickhouse-common-static", "mode": "0664", "msg": "Request failed", "owner": "mag", "response": "HTTP Error 404: Not Found", "secontext": "unconfined_u:object_r:user_home_t:s0", "size": 246310036, "state": "file", "status_code": 404, "uid": 1000, "url": "https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-22.3.3.44.noarch.rpm"}
TASK [Clickhouse | Get clickhouse distrib] ************************************************************************************************************************************************************************
ok: [clickhouse-01]
TASK [Install clickhouse packages] ********************************************************************************************************************************************************************************
ok: [clickhouse-01]
TASK [Create database] ********************************************************************************************************************************************************************************************
skipping: [clickhouse-01]
PLAY [Install Vector] *********************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [vector-01]
TASK [Vector | Download packages] *********************************************************************************************************************************************************************************
ok: [vector-01]
TASK [Vector | Install packages] **********************************************************************************************************************************************************************************
ok: [vector-01]
TASK [Vector | Apply template] ************************************************************************************************************************************************************************************
[WARNING]: The value 1000 (type int) in a string field was converted to u'1000' (type string). If this does not look like what you expect, quote the entire value to ensure it does not change.
ok: [vector-01]
TASK [Vector | change systemd unit] *******************************************************************************************************************************************************************************
ok: [vector-01]
PLAY [Install lighthouse] *****************************************************************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | Install git] ***********************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | install epel-release] **************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighhouse | Install nginx] **********************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | Apply nginx config] ****************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | Clone repository] ******************************************************************************************************************************************************************************
ok: [lighthouse-01]
TASK [Lighthouse | Apply config] **********************************************************************************************************************************************************************************
ok: [lighthouse-01]
PLAY RECAP ********************************************************************************************************************************************************************************************************
clickhouse-01 : ok=3 changed=0 unreachable=0 failed=0 skipped=1 rescued=1 ignored=0
lighthouse-01 : ok=7 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
vector-01 : ok=5 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
-
Запустите playbook на prod.yml окружении с флагом --diff. Убедитесь, что изменения на системе произведены.
-
Повторно запустите playbook с флагом --diff и убедитесь, что playbook идемпотентен. Ответ - изменений не было, выводы одинаковые
-
Подготовьте README.md-файл по своему playbook. В нём должно быть описано: что делает playbook, какие у него есть параметры и теги.
Ответ : В файле prod1.yml расположена конфигурация, которая разворачивает 3 программы - clickhouse, vector И lighthouse. Описание модуля Clickhouse: 1.1. - установка на хосте clickhouse 1.2. - повышенные права доступа 1.3. - установка с официального репозитория 1.4. - автоматический запуск сервиса после установки 1.5. - автоматическая установка БД
Описание модуля Vector: 1.1. - установка на хосте vector 1.2. - повышенные права доступа 1.3. - установка с официального репозитория (ссылка на шаблоны - ) 1.4. - автоматический запуск сервиса после установки