Ansible Role for MongoDB 使用教程
1. 项目的目录结构及介绍
目录结构
ansible-role-mongodb/
├── defaults
│ └── main.yml
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── tasks
│ ├── configure.yml
│ ├── install.yml
│ ├── main.yml
│ ├── post_install.yml
│ └── pre_install.yml
├── templates
│ ├── mongodb.conf.j2
│ └── keyfile.j2
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml
目录介绍
- defaults: 包含默认变量配置文件
main.yml
。 - handlers: 包含处理程序配置文件
main.yml
。 - meta: 包含角色元数据配置文件
main.yml
。 - tasks: 包含主要的任务配置文件,如
configure.yml
,install.yml
,main.yml
,post_install.yml
,pre_install.yml
。 - templates: 包含模板文件,如
mongodb.conf.j2
,keyfile.j2
。 - tests: 包含测试配置文件
test.yml
和库存文件inventory
。 - vars: 包含变量配置文件
main.yml
。
2. 项目的启动文件介绍
启动文件
- tasks/main.yml: 这是主要的任务文件,负责调用其他任务文件,如安装、配置等。
启动流程
- pre_install.yml: 预安装任务,如检查系统版本等。
- install.yml: 安装 MongoDB。
- configure.yml: 配置 MongoDB。
- post_install.yml: 后安装任务,如启动服务等。
3. 项目的配置文件介绍
配置文件
- defaults/main.yml: 默认变量配置文件,包含默认的 MongoDB 安装和配置参数。
- templates/mongodb.conf.j2: MongoDB 配置文件模板。
- vars/main.yml: 变量配置文件,包含特定版本的 MongoDB 配置参数。
配置示例
defaults/main.yml
mongodb_package: mongodb-org
mongodb_version: "4.4"
mongodb_user_admin_name: siteUserAdmin
mongodb_user_admin_password: passw0rd
mongodb_root_admin_name: siteRootAdmin
mongodb_root_admin_password: passw0rd
mongodb_root_backup_name: backupuser
mongodb_root_backup_password: passw0rd
mongodb_security_authorization: "enabled"
mongodb_users:
- name: testUser
password: passw0rd
roles: readWrite
database: app_development
mongodb_oplog_users:
- user: oplog
password: passw0rd
templates/mongodb.conf.j2
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /var/run/mongodb/mongod.pid
net:
bindIp: 127.0.0.1
port: 27017
security:
authorization: {{ mongodb_security_authorization }}
通过以上配置文件和模板,可以灵活地配置和管理 MongoDB 的安装和运行。