本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

ansible笔记(1)之主机清单配置

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


本来打算自己写一波 ansible 系列的,后来发现一老哥写的太好了,「点击此处直达」,我这里也就边看边对该系列文章做下笔记,方便以后查阅,ansible 入门的话墙裂建议阅读前方链接博文~~~

ansible 主机清单默认配置文件:/etc/ansible/hosts

配置格式可分为两类,一类是 INI 格式配置,一类是 YAML 格式配置。

INI 格式

普通配置

10.0.1.201 ansible_port=22 ansible_user=root ansible_ssh_pass=root1234
10.0.1.202 ansible_port=22 ansible_user=root ansible_ssh_pass=root1234
  • ansible_port:用于配置对应主机上的 sshd 服务端口号,在实际的生产环境中,各个主机的端口号通常不会使用默认的 22 号端口,所以用此参数指定对应端口,为 22 时可省略;
  • ansible_user:用于配置连接到对应主机时所使用的用户名称;
  • ansible_ssh_pass 用于配置对应用户的连接密码;

对指定主机进行操作时直接指定 IP:

$ ansible 10.0.1.201 -m ping

使用别名

B ansible_host=10.0.1.201 ansible_port=22 ansible_user=root ansible_ssh_pass=root1234
C ansible_host=10.0.1.202 ansible_port=22 ansible_user=root ansible_ssh_pass=root1234

注意:上述配置参数都是 ansible 2.0 版本以后的写法,2.0 版本之前,应遵从如下写法:

  • ansible_port 应该写成 ansible_ssh_port
  • ansible_user 应该写成 ansible_ssh_user
  • ansible_host 应该写成 ansible_ssh_host

可以使用 ansible --version 来查看你当前安装的 ansible 版本,我这里使用的是 ansible 2.9.6,所以就使用新的写法了。

对指定主机进行操作时直接指定别名即可:

$ ansible B -m ping

主机分组

将 B、C 主机归为 test_group 组。

[test_group]
B ansible_host=10.0.1.201
C ansible_host=10.0.1.202

指定组名则会对该组下的所有主机进行操作:

$ ansible test_group -m ping

父子组

使用 children 关键字创建父组 parent_group,其包含两个子组分别是 group1group2

[group1]
B ansible_host=10.0.1.201
 
[group2]
C ansible_host=10.0.1.202
 
[parent_group:children]
group1
group2

指定父组名则会对该父组的所有子组包含的主机进行操作:

$ ansible parent_group -m ping

YAML 格式

分组

创建一个名为 test_group 的组,该组中包含 10.0.1.20110.0.1.202 两台主机:

test_group:
  hosts:
    10.0.1.201:
    10.0.1.202:

相当于如下 INI 格式配置:

[test_group]
10.0.1.201
10.0.1.202

父子组

创建一个名为 parent_group 的父组,其包含 group1group2 的子组:

parent_group:
    children:
        group1:
            hosts:
                10.0.1.201
        group2:
            hosts:
                10.0.1.202

相当于如下 INI 格式配置:

[group1]
10.0.1.201
 
[group2]
10.0.1.202
 
[parent_group:children]
group1
group2

使用别名

创建两个组分别名为 group1group2group1 组下有一别名为 B 的主机,group2 组下有一别名为 C 的主机:

group1:
  hosts:
    B:
      ansible_host: 10.0.1.201
 
group2:
  hosts:
    C:
      ansible_host: 10.0.1.202

相当于如下 INI 格式配置:

group1:
    hosts:
        B:
            ansible_host: 10.0.1.201
 
group2:
    hosts:
        C:
            ansible_host: 10.0.1.202
# ansible  

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×