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

关于项目

Ansible role to deploy mongodb software

安装
ansible-galaxy install enix.mongodb
许可证
Unknown
下载
9k
拥有者
Enix