ansible 之 inventory文件

原创
07/28 16:53
阅读数 87

    ansible 对于自动化运维非常方便。在这里就记录一点自己觉得好用的地方。

1 ansible 的inventory 文件分组,组变量

    /etc/ansible/hosts

# 分组
[single]
172.28.64.104
172.28.64.105
172.28.64.133
172.28.64.137

# 组变量
[single:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=borui2020

2 inventory 文件子分组

[single]
172.28.64.104
172.28.64.105
172.28.64.133
172.28.64.137

[single:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=borui2020

[ceph]
172.18.0.131
172.18.0.132
172.18.0.133

# 主组包含下面两个子组
[test:children]
ceph
single

3 inventory 文件 组参数yml文件

    由于组比较多,每个组的参数也比较多,如果都放在/etc/ansible/hosts 文件中 就不好管理。对组的参数可以分开放在不同yml文件中管理

/etc/ansible/group_vars/group-name.yml

    例如:

#yml 格式
[root@chuangxindasai-prometheus group_vars]# cat ceph.yml 
---
ansible_ssh_port: 22
ansible_ssh_user: root
ansible_ssh_pass: ccssoft
[root@chuangxindasai-prometheus group_vars]# ls -l
total 4
-rw-r----- 1 root root 74 Jul 28 16:11 ceph.yml

由上例子可以知道:test的children组single  的变量在hosts 文件,test的children组ceph 的变量在./group_vars/ceph.yml 中(yml文件名一定要和组名一致)

变量可以放在hosts 文件中,也可以放在组列表中。但是如果同时存放则组列表中的会覆盖hosts中的。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部