Особенности
Эта роль Ansible будет устанавливать, настраивать и управлять автономным прокси-сервером Snowflake.
- Support for Ubuntu, Debian, Arch Linux, Fedora and FreeBSD.
- Модуль Systemd для управления сервисом Snowflake в GNU/Linux и rc-скриптом для FreeBSD.
Требования
- Python
- Ansible версии 2.9 или выше
1. Установка Ansible
Вы можете установить Ansible с помощью pip
:
$ python -m pip install --user ansible
или найти другие способы установки Ansible.
2. Загрузка роли Ansible
Необходимая роль Ansible называется nvjacobo.snowflake
.
Вы можете найти её в репозитории Galaxy и установить с помощью команды:
$ ansible-galaxy install nvjacobo.snowflake
3. Создание плейбука (playbook)
Создайте плейбук (playbook) Ansible для запуска новой роли:
- hosts: snowflake
roles:
- nvjacobo.snowflake
4. Создание инвентаря (inventory)
Инвентарь (inventory) – это список серверов, которыми Ansible будет автоматически управлять через плейбук (playbook).
[snowflake]
ip-address
5. Развертывание и запуск сервера
При запуске плейбука (playbook) Ansible развернет автономный прокси-сервер Snowflake.
Вы можете запустить его под root:
$ ansible-playbook -i inventory site.yml -u root
или с помощью sudo:
$ ansible-playbook -i inventory site.yml -u username -b
6. Управление прокси-сервером Snowflake
Если прокси-сервер Snowflake работает под управлением systemd, вы можете управлять им с помощью команд systemd: start, status и stop.
Например:
$ ansible all -i inventory -a 'systemctl status snowflake-proxy'
Под FreeBSD вы можете управлять своим прокси-сервером Snowflake с помощью команд rc-скрипта.
Например:
$ ansible all -i inventory -a 'service snowflake status'
7. Обновление вашего прокси-сервера Snowflake
Важно поддерживать автономный прокси-сервер Snowflake в актуальном состоянии.
При запуске плейбука (playbook) Ansible будут установлены обновления:
$ ansible-playbook -i inventory site.yml -u root
8. (Опционально) Ограничение использования
Вы можете ограничить количество клиентов (пользователей Snowflake) с помощью переменной client
.
Максимальное количество одновременных клиентов по умолчанию не ограничено (0 = без ограничений).
Приведенный ниже плейбук имеет ограничение в 300 одновременных клиентов:
- hosts: snowflake
vars:
clients: 300
roles:
- nvjacobo.snowflake
Примечание: Эта переменная роли Ansible недоступна для FreeBSD.