grzegorznowak.redis
Ansible 角色:Redis
在 Debian 上安装 Redis Server。
这是一个针对基于 Debian 的发行版的简单多配置 Redis 角色,具有紧密的测试覆盖,使用分子 (molecule) 进行本地测试,并且提供一个与 Docker 兼容的层,以便在 Docker 容器上构建。
它将创建独立的配置文件(位于 /etc/redis/redis-{{name}}.conf 下),以及为每个定义的配置创建独立的 /var/log/redis/ 日志点。
这个角色非常适合用于开发目的,在单台机器上测试多个配置,以及用于生产部署,代码简洁,经过全面的分子覆盖和代码检查。
在 lxd/裸金属上使用 systemctl
,在 Docker 上使用简单的 init.d
。
需求
无依赖项。
覆盖
目前支持最新的基于 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 端口供外部访问,
# 需要单独的安全规则(此角色不包括)。
目前该角色安装支持发行版上最新的稳定版本。
示例剧本
从 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
测试
需求
使用低级 LXD chroot 容器进行测试
molecule test
针对 Docker 基础镜像进行测试
molecule test --scenario-name=docker_dev
使用分子提供的额外好处
请记住,您还可以做一些有趣的事情,例如 molecule converge
来随意创建实例,然后使用 molecule destroy
来销毁它们。这里没有限制!
赞助商
Kwiziq.com - AI 语言学习平台
Spottmedia.com - 技术设计、交付和咨询
作者信息
由 Grzegorz Nowak 用心制作。