From 9fc948c6598b474024af72b0f4a762de60f398df Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sat, 25 Jan 2020 06:58:57 +0500 Subject: [PATCH] Add README.md --- README.md | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2c65f38 --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +Конфигурация Ansible +==================== + +Конфигурация верхнего уровня для развёртывания инфраструктуры с помощью +[Ansible](https://www.ansible.com). + + + +Содержание +---------- + +* [Обзор](#конфигурация-ansible) +* [Содержание](#содержание) +* [Подготовка серверов](#подготовка-серверов) +* [Подготовка конфигурации](#подготовка-конфигурации) +* [Использование конфигурации](#использование-конфигурации) + + + +Подготовка серверов +------------------- + +Необходимо создать на серверах пользователя, добавить его в группу `sudo`, +установить ему пароль и записать его в инвентарь конфигурации. Это можно +сделать, выполнив указанные далее команды на сервере. Имя пользователя +`kotovalexarian` замените на ваше. + +``` +adduser --gecos '' kotovalexarian +usermod -a -G sudo kotovalexarian +``` + +Также нужно будет разрешить этому пользователю подключаться по SSH с помощью +вашего публичного ключа. Текущая конфигурация отключает возможность +аутентификации по паролю. Убедитесь, что вы можете войти с помощью публичного +ключа, иначе вы рискуете потерять доступ к серверу. + + + +Подготовка конфигурации +----------------------- + +Для ускорения работы Ansible используется библиотека +[Mitogen](https://mitogen.networkgenomics.com/). Необходимо установить её +в директорию `vendor`: + +``` +wget -O vendor/mitogen-0.2.8.tar.gz https://networkgenomics.com/try/mitogen-0.2.8.tar.gz +tar -xzf vendor/mitogen-0.2.8.tar.gz -C vendor/ +``` + +Конфигурация зависит от ролей [Ansible Galaxy](https://galaxy.ansible.com), +указанных в файле `requirements.yml`. Следующую команду нужно запускать +перед началом работы с конфигурацией, а также после добавления ролей +или изменения их версий: + +``` +ansible-galaxy install -r requirements.yml -f +``` + + + +Использование конфигурации +-------------------------- + +Перезагрузка всех серверов: + +``` +ansible all -m reboot +``` + +Обновление системных пакетов на всех серверах: + +``` +ansible all -m apt -a 'update_cache=yes upgrade=yes' +``` + +Показать пароль пользователя для каждого сервера: + +``` +ansible all -m debug -a var=ansible_become_pass +``` + +Развёртывание всей инфраструктуры: + +``` +ansible-playbook playbooks/deploy/site.yml +``` + +Создание резервной копии всех данных: + +``` +ansible-playbook plybooks/backup/site.yml +```