redis
Ansible Роль: Redis
Устанавливает Redis Server на Debian.
Минималистичная версия роли redis с множественными конфигурациями для дистрибутивов на базе Debian, с хорошим покрытием тестами с помощью Molecule (чтобы вы могли тестировать локально с минимальными усилиями) и совместимым с Docker слоем, если вы хотите построить его на основе контейнера Docker.
Она создаст отдельные конфигурационные файлы (находящиеся по адресу /etc/redis/redis-{{name}}.conf), а также отдельные точки ведения журнала в /var/log/redis/ для каждой определенной конфигурации.
Эта роль идеально подходит для разработки, чтобы протестировать несколько конфигураций на одной машине, а также для непосредственного развертывания с минималистичным, полностью покрытым тестами и правильно оформленным кодом.
Использует systemctl
на LXD/ baremetal и простой init.d
на Docker.
Требования
Нет зависимостей.
Покрытие
В настоящее время собирается и интегрируется на последних дистрибутивах на базе Debian:
Ubuntu: 18.04, 16.04
Debian: stretch
Переменные
по умолчанию
redis_package_name: "redis-server"
redis_configs:
- port: 6380 # порт для прослушивания
name: "cache" # имя конфигурации - также повлияет на имя файла журнала (/var/log/redis) и целей pid
bind: 127.0.0.1 # к какому IP привязываться (localhost — самый безопасный вариант для самообслуживания)
пример многоконфигурации
redis_configs:
- port: 6379,
name: "cache"
bind: 127.0.0.1
- port: 6380,
name: "session"
bind: 127.0.0.1
- port: 8080,
name: "shared-cache"
bind: 0.0.0.0
# будьте осторожны, последний откроет порт 8080 для внешнего мира,
# поэтому потребуется отдельный набор правил по обеспечению безопасности (не включен в эту роль)
В настоящее время роль устанавливает последнюю стабильную версию, доступную в upstream соответствующих дистрибутивов.
Пример playbook
при клонировании с GitHub
---
- hosts: all
vars:
redis_configs:
- port: 6379,
name: "cache0"
bind: 127.0.0.1
- port: 6380,
name: "cache1"
bind: 127.0.0.1
roles:
- role: ansible-redis
при использовании ansible-galaxy
---
- hosts: all
vars:
redis_configs:
- port: 6379,
name: "cache0"
bind: 127.0.0.1
- port: 6380,
name: "cache1"
bind: 127.0.0.1
roles:
- role: grzegorznowak.redis
Тестирование
Требования
- https://molecule.readthedocs.io/en/latest/installation.html
- документ по установке molecul LXD
- документ по установке molecul Docker
Тестирование с низкоуровневыми LXD chroot контейнерами
molecule test
Тестирование на образах Docker
molecule test --scenario-name=docker_dev
Дополнительные возможности от Molecule
Помните, что вы также можете делать необычные вещи, например, использовать molecule converge
, чтобы просто создавать экземпляры по желанию, а затем уничтожать их
с помощью molecule destroy
. Здесь действительно нет пределов!
Спонсорство
Kwiziq.com - Платформа обучения языкам на основе ИИ
Spottmedia.com - Проектирование, доставка и консалтинг в области технологий
Информация об авторе
С любовью создано Grzegorz Nowak.
Redis multiconf for Ubuntu. Molecule covered. Also builds for vanilla docker machines.
ansible-galaxy install grzegorznowak/ansible-redis