plabybook
要利用 ansible 对主机进行管理, 我们需要清晰了解 ansible 中的文件管理结构
可以把 playbook 理解为管理集合, 常见包含下面的管理范围
变量管理
模板管理
主机列表管理
模块管理
playbook 可以轻松利用上面的信息, 对主机进行统一维护
参考 playbook 目录结构
在任意目录下创建 project 目录, project 目录中包含了下面的不同的文件目录
[root@localhost project]# tree
.
├── group_vars <- 所有主机的公共变量存放位置
│ └── all
├── hosts <- 需要管理的主机的列表信息
├── roles <- roles 存放模块, 当前有 etcd, initial, loop 三个模块
│ ├── etcd
│ │ ├── files <- 需要直接复制到 client 的文件存放位置
│ │ │ └── etcd-proxy.service <--即每个主机配置一样
│ │ ├── handlers <- 用于服务管理用的控制文件
│ │ │ └── main.yml
│ │ ├── tasks <- ansible 任务文件
│ │ │ ├── config.yml
│ │ │ ├── main.yml
│ │ │ ├── package.yml
│ │ │ └── service.yml
│ │ └── templates <- 需要复制到 client 中的模板文件, 会配合变量进行配置变换
│ │ └── etcd-proxy.conf <-- 即每个主机配置可能不一样
│ ├── initial
│ │ ├── files
│ │ │ ├── hosts
│ │ │ ├── resolv.conf
│ │ │ └── updatedb.conf
│ │ ├── handlers
│ │ ├── tasks
│ │ │ ├── main.yml
│ │ │ ├── mlocate.yml
│ │ │ ├── package.yml
│ │ │ ├── sysctl.yml
│ │ │ └── yumrepo.yml
│ │ └── templates
│ │ ├── centos7.repo
│ │ └── docker.repo
│ └── loop
│ ├── files
│ ├── handlers
│ ├── tasks
│ │ ├── main.yml
│ │ └── t1.yml
│ └── templates
└── site.yml <- 主控制入口文件