Add README.md
This commit is contained in:
parent
0f85852f43
commit
9fc948c659
1 changed files with 94 additions and 0 deletions
94
README.md
Normal file
94
README.md
Normal file
|
@ -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
|
||||
```
|
Reference in a new issue