共计 1168 个字符,预计需要花费 3 分钟才能阅读完成。
Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的文件路径为 /etc/ansible/hosts
主机清单示例
基于密码的主机清单
[root@manager ~]# cat /etc/ansible/hosts
#ip+port+user+pass
#方括号[]中是组名,用于对系统进行分类,便于对不同系统进行个别的管理.
[server1]
172.16.1.31 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='00000000'
172.16.1.61 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='00000000'
#hostname+port+user+pass
#一组相似的 hostname , 可简写如下,还可以定义字母范围的简写模式
[server2]
web[1:10].xadocker.cn ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='00000000'
基于密钥的主机清单
# 使用前先将管理节点公钥推送至子节点,实现面密登录
[group1]
10.0.0.31:22
10.0.0.41
主机别名
#别名形式
[group2]
nfs-node1 ansible_ssh_host=10.0.0.31 ansible_ssh_port=22
定义主机组
#定义多组,多组汇总整合
[group1]
10.0.0.31:22
10.0.0.41
[group2]
nfs-node1 ansible_ssh_host=10.0.0.31 ansible_ssh_port=22
# webservers组包括两个子组
[webservers:children]
[group1]
[group2]
带变量的主机组
[server3]
web[1:10].xadocker.cn
[server3:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass='00000000'
主机组内置的参数
ansible_ssh_host #将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.
ansible_ssh_port #ssh端口号.如果不是默认的端口号,通过此变量设置.
ansible_ssh_user #默认的 ssh 用户名
ansible_ssh_pass #ssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)
ansible_ssh_private_key_file #ssh 使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.
正文完