Ansible学习纪要
Ansible安装完成后;
Rpm -ql ansible 查看ansible下安装了神马。
Ansible -h 查看指令
一个指令例子:
ansible -i /etc/ansible/hosts test -u root -m command -a ‘ls /home’ -k
解释:
-i :hosts文件路径 有默认值/etc/ansible/hosts
test:hosts文件下的组
-u:用户名(SODO_USER) 有默认值root
-m:执行模块 有默认值command
-a:具体指令
-k:提示输入密码。
#参数解释:
-i: 指定主机列表文件
-u: 指定远程主机登陆用户
-m:指定使用ansible的模块
-a: 指定模块下使用的参数
-k: 指定远程登陆用户的密码
使用默认值的指令:
ansible test -a ‘ls /home’ -k
Hosts设置:
分组机制
[组名]
#指定设备
172.16.30.8
172.16.50.48
#连续ip可以使用[:] ,ip从1到200的host
172.16.18.[1:200]
ansible通过ssh方式远程登录设备,所以要使用ssh key的方式来进行ssh认证,当然也可以选择使用ansible的时候加上 -k来输入密码。
ansible all -m ping 用于检测所有主机是否在线。
在hosts分组中指定账号,主机,ssh端口,key文件
ansible主机分组管理:
ansible配置http://perin.blog.51cto.com/10410663/1725195
说明:关于ansible hosts文件中可用参数:
ansible_ssh_port=22 #远程主机登陆端口
ansible_ssh_user=root #远程主机登陆用户名
ansible_ssh_pass=chekir #远程主机登陆用户名的密码
ansible_ssh_private_key_file=/etc/ansible/hosts #指定管理主机群列表文件
host_key_checking=False #跳过第一次连接检测询问是否登陆的提示(YES/NO)
这里hosts文件我做了互信认证,所以hosts文件我就写了个主机IP,端口号默认的话可以不用写
hosts文件做了互信认证:http://shihlei.iteye.com/blog/2064677
http://www.cnblogs.com/jyzhao/p/3781072.html
http://williamtsui1984.blog.163.com/blog/static/2144301082014729546397/
常见问题:http://www.tuicool.com/articles/EriayeQ
查看ansible所有模块 ansible-doc -l
各模块功能介绍。
通过ansible-doc -s user ; user模块的具体用法
ansible hosts组 -m setup setup模块收集host信息。
(free -m 查看内存指令
ls /tmp -lh 长格式显示ls文件下的目录)
远程创建删除文件
Ansible常用模块
http://breezey.blog.51cto.com/2400275/1555530/