ansible是无agent的,主要是借用ssh来批量管理服务器。 ansible的默认配置文件路径:/etc/ansible/hosts,可以自定义配置文件的路径。 如果没有ansbile 和 hosts,手动创建。 mkdir -p /etc/ansible vim /etc/ansible/hostsansible操作命令: ansible 主机组 -m 模块 -a "参数" ansible nginx -m ping #这里的nginx 是/etc/hosts 文件里面的主机组名称,如果 ansible 后面直接跟 all 表示,对/etc/hosts里面的所有主机,进行操作。 ansible 操作的时候,需要保证,ansible主机可以免密钥登录到hosts文件里面的主机。 所以,需要把ansbile主机的,公钥复制到 hosts文件里面的所有主机。
ansible 参数: -i 主机清单,默认是/etc/ansbile/hosts ,也就是配置文件,如果你的hosts文件不在,/etc/ansible 下面,这时运行ansible 就需要加 -i 来指定配置文件。 -u 指定远程主机上的用户,来操作远程主机,默认是root -m 指定模块的名称 ,默认是command 模块 -a 指定模块的参数,如果这个模块没有参数,就不需要指定。 ansible 对 hosts文件里面的单台主机进行操作:
ansible 对 hosts文件里面 不在同一个主机组 多台主机进行操作:
ansible 在配置文件里面,主机组嵌套:
ansbile lvs -m ping
ansible mysql -m ping #也可以直接对父组下面的一个组或者一个主机、多个主机操作。
![]()
asbile 除一台主机外 的所有主机进行操作:
asbile 除几台主机外 的所有主机进行操作: