grzegorznowak.redis
Rola Ansible: Redis
Instaluje Redis Server na systemie Debian.
Jest to uproszczona wersja roli redis o wielu konfiguracjach dla dystrybucji opartych na Debianie, z solidnym pokryciem testami przy użyciu Molecule (jednocześnie możesz testować lokalnie z minimalnym wysiłkiem) oraz warstwą kompatybilną z Dockerem, jeśli chcesz zbudować ją na bazie kontenera Docker.
Tworzy oddzielne pliki konfiguracyjne (znajdujące się w /etc/redis/redis-{{name}}.conf), a także oddzielne punkty logowania w /var/log/redis/ dla każdej zdefiniowanej konfiguracji.
Rola ta jest idealna do celów deweloperskich, aby testować różne konfiguracje na jednej maszynie, jak również do wdrożeń produkcyjnych, z minimalnym, w pełni pokrytym molekułami i lintowanym kodem.
Wykorzystuje systemctl
na LXD/baremetal oraz prosty init.d
na Dockerze.
Wymagania
Brak zależności.
Pokrycie
Obecnie buduje się i integruje na najnowszych dystrybucjach opartych na Debianie:
Ubuntu: 18.04, 16.04
Debian: stretch
Zmienne
domyślne
redis_package_name: "redis-server"
redis_configs:
- port: 6380 # port, na którym nasłuchuje
name: "cache" # nazwa konfiguracji - wpłynie również na nazwy plików dziennika (/var/log/redis) oraz pliku pid
bind: 127.0.0.1 # do którego IP się wiąże (localhost jest najbezpieczniejszą opcją dla usług samodzielnych)
przykładowa konfiguracja wielokrotna
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
# uwaga: ostatnia opcja otworzy port 8080 na świat zewnętrzny,
# więc będą potrzebne osobne zasady zabezpieczeń (nie zawarte w tej roli)
Obecnie rola instaluje najnowszą stabilną wersję dostępną w repozytoriach wspieranych dystrybucji.
Przykładowy playbook
przy klonowaniu z 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
z 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
Testowanie
Wymagania
- https://molecule.readthedocs.io/en/latest/installation.html
- dokumentacja instalacyjna dla konkretnej Molecule LXD
- dokumentacja instalacyjna dla konkretnej Molecule Docker
Testowanie z niskopoziomowymi kontenerami LXD chroot
molecule test
Testowanie z użyciem obrazów bazowych Dockera
molecule test --scenario-name=docker_dev
Dodatkowe korzyści z Molecule
Pamiętaj, że możesz również robić różne ciekawe rzeczy, takie jak molecule converge
, aby prostokątnie uruchomić instancje, a następnie je zniszczyć
za pomocą molecule destroy
. Tutaj naprawdę nie ma ograniczeń!
Sponsorzy
Kwiziq.com - Platforma edukacji językowej AI
Spottmedia.com - Projektowanie technologii, dostarczanie i konsulting
Informacje o autorze
stworzono z pasją przez Grzegorza Nowaka.
Redis multiconf for Ubuntu. Molecule covered. Also builds for vanilla docker machines.
ansible-galaxy install grzegorznowak.redis