enix.mongodb
enix.mongodb
一个用于在Unix主机上使用Ansible部署和配置mongodb及其扩展的角色。
要求
支持的目标:
- Ubuntu 16.04 "Xenial"
- Ubuntu 18.04 "Bionic"
- Debian 8 "Jessie"
- Debian 9 "Stretch"
- Debian 10 "Buster"
角色变量
此角色预加载几乎所有可用的默认值。您可以在主机/组变量、库存或剧本中覆盖每个变量。有关配置的帮助,请查看 defaults/main.yml
中的注释默认值。所有提供的变量以 mongodb__
开头。
mongodb__version
- 要安装的MongoDB软件版本。选择要安装的稳定版本。默认为 4.2
。当前可用版本:3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4。mongodb__apt_localkey
- 如果系统在代理后面,获取仓库密钥可能会出现问题。启用此项将使用本地副本。如果远程仓库的密钥被更改,可能会出现警告,默认为 false
。mongodb__packages
- 要安装的MongoDB软件包。默认值为 mongodb-org
,它安装所有内容。可以选择以下选项:mongodb-org, mongodb-org-server, mongodb-org-mongos, mongodb-org-shell, mongodb-org-tools。有关详细信息,请查看 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/。mongodb__conf_port
- mongod必须绑定的端口,默认为 27017
。mongodb__conf_bindIp
- mongod必须绑定的IP,默认为 127.0.0.1
。mongodb__conf_extra
- 在mongod.conf中设置的额外配置选项。必须是守护进程能理解的yaml配置块。
mongodb__conf_extra: |
net.ipv6: false
systemLog:
verbosity: 2
logRotate: reopen
依赖关系
- 无
使用方法
使用 Ansible galaxy requirements.yml
# 从 enix 获取 mongodb
- src: enix.mongodb
并将其添加到你的剧本角色中:
- hosts: all
roles:
- role: enix.mongodb
mongodb__version: 4.2
mongodb__packages: ["mongodb-org-server", "mongodb-org-tools"]
您也可以将该角色用作剧本。系统会询问您要配置哪些主机,并且您可以通过使用 --extra-vars
来进一步配置该剧本。
$ ansible-playbook -i inventory --extra-vars='{...}' main.yml
待完成事项
- 添加集群支持
- 添加分片支持
- 允许用户和凭据管理
更新日志
1.2.0
增加对debian buster的支持
增加对较新MongoDB版本(4.2, 4.4)的支持
1.1.0
增加对本地gnupg密钥的支持
1.0.0
初始版本。
许可证
GPLv2
作者信息
Laurent Corbes laurent.corbes@enix.fr - http://www.enix.io