iquzart.mongodb
Ansible MongoDB
用于MongoDB配置的Ansible角色,支持副本集。
功能
- 支持CentOS和Ubuntu
- 独立和副本集配置
- 在CentOS上配置SELinux
- 配置Firewalld
- MongoDB配置文件位置可以更改为自定义目录
- 自定义数据库和日志目录
- 启用/禁用身份验证(默认启用,推荐使用)
- 创建用户 - 根用户、数据库管理员、备份管理员
- 可以配置副本优先级
- SCARM身份验证
支持矩阵
发行版 | MongoDB 4.4 | MongoDB 4.3 |
---|---|---|
CentOS 8 | 支持(已测试) | 支持(未测试) |
CentOS 7 | 支持(已测试) | 支持(未测试) |
Ubuntu 20.04 LTS | 支持(已测试) | 支持(未测试) |
Ubuntu 19.04 LTS | 支持(已测试) | 支持(未测试) |
角色变量
# MongoDB 版本
mongodb_install_version_major: 4
mongodb_install_version_minor: 4
mongodb_install_version_patch: "*"
# CentOS
mongodb_enable_yum_repository: true
mongodb_install_package_lock: true
# Ubuntu
mongodb_enable_apt_repository: true
# SELinux 配置(仅在CentOS上)
configure_selinux: True
# MongoDB 配置
mongodb_conf_file: /etc/mongodb/mongod.conf
mongodb_conf_db_dir: /data/mongo-data
mongodb_conf_log_dir: /var/log/mongodb
mongodb_conf_dbEngine: wiredTiger
mongodb_conf_auth: true
mongodb_conf_bindIp: "0.0.0.0"
mongodb_conf_journal: true
mongodb_conf_maxConns: 64000
mongodb_conf_port: 27017
mongodb_conf_oplogSize: 1024
mongodb_conf_cloudmonitoring: "off"
# Systemd 单元
mongodb_daemon_unitfile: /etc/systemd/system/mongod.service
# 副本集配置
mongodb_replication_enabled: true # false将创建一个独立的MongoDB实例
mongodb_replication_key_file: /etc/mongodb/repl.key
mongodb_replication_set_name: rs01
# PyMongo 配置
mongodb_pymongo_pip_version: 3.7.1
# 账户配置
mongodb_root_account: root
mongodb_root_password: "p@ssw0rd"
mongodb_admin_account: dbadmin
mongodb_admin_password: "p@ssw0rd"
mongodb_backup_account: backupadmin
mongodb_backup_password: "p@ssw0rd"
示例剧本
- name: Mongo DB 安装
hosts: mongo
remote_user: root
become: yes
roles:
- mongodb-replicaset
主机清单
all:
hosts:
children:
mongo:
hosts:
mongo-01.example.com:
host_name: mongodb-01
host_ip: "192.168.122.201"
mongo-02.example.com:
host_name: mongodb-02
host_ip: "192.168.122.202"
mongo-03.example.com:
host_name: mongodb-03
host_ip: "192.168.122.203"
master:
hosts:
mongo-01.example.com:
replicas:
hosts:
mongo-02.example.com:
priority: 1
mongo-03.example.com:
priority: 1
arbiter:
hosts:
# mongo-03.example.com:
# priority: 0
可选要求
- CentOS 基线 - Ansible角色
许可证
MIT
待办事项
- 支持TLS
- 支持x509身份验证
作者信息
穆罕默德·伊克巴尔 iquzart@hotmail.com
关于项目
Install MongoDB standalone or Replicaset
安装
ansible-galaxy install iquzart.mongodb
许可证
Unknown
下载
69
拥有者
Open Source Enthusiast