文章目录
- ansible的安装
- epel源安装
- 源码安装
- ansible常用命令和常用参数
- ini格式书写/etc/ansible/hosts(清单)文件
- 对受管主机添加别名
- ansible的免密认证
- 测试别名+免密访问
- 一次性操作清单中的所有主机
- 分组管理主机
- 分组内容的简写形式
- 测试主机名访问受管主机
- 测速主组和子组
- yaml格式的清单编写
实验环境:
172.25.2.10 server1 ansible软件主机
172.25.2.11 server2 受管主机1
172.25.2.254 server3 受管主机2
ansible的安装
epel源安装
EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。
1.在server1中,在虚拟机网络畅通的情况下,并且本地yum源配置正常的情况下
直接联网下载
发现epel源已经下载好
直接yum install ansible就可以,安装好之后ansible不需要手动启动或者关闭
源码安装
此操作也需要在联网的情况下,
mkdir /etc/ansible
ansible常用命令和常用参数
ansible常用参数及命令
常用参数 功能
-m 要执行的模块,默认为command
-a 指定模块的参数
-u ssh连接的用户名,默认用root,ansible.cfg中可以配置
-b,–become 变成那个用户身份,不提示密码
-k 提示输入ssh登录密码,当使用密码验证的时候用
-s sudo运行
-U sudo到哪个用户,默认为root
-K 提示输入sudo密码,当不是NOPASSWD模式时使用
-C 只是测试一下会改变什么内容,不会真正去执行
-c 连接类型(default=smart)
-f fork多少进程并发处理,默认为5个
-i 指定hosts文件路径,默认default=/etc/ansible/hosts
-I 指定pattern,对已匹配的主机中再过滤一次
-list-host 只打印有哪些主机会执行这个命令,不会实际执行
-M 要执行的模块路径,默认为/usr/share/ansible
-o 压缩输出,摘要输出
–private-key 私钥路径
-T ssh连接超时时间,默认是10秒
-t 日志输出到该目录,日志文件名以主机命名
-v 显示详细日志
常用命令
ansible命令使用场景:
非固化需求
临时一次性操作
二次开发接口调用
ansible-doc -l #显示所有可用模块
ansible-doc yum #获取yum模块帮助
ansible server2 -m setup ##查看指定主机server2上的facts变量信息
ansible all -m setup ##查看指定的所有主机上的facts变量信息
ansible '*' -m setup ##同上
ansible-doc -l | wc -l ##列出有多少个可用的模块
ansible-doc user ##查看user模块的帮助文档,按q退出。也可以在最后一行输入/passwd,来过滤与passwd有关的内容
ansible test -a 'df -h' ##在test组执行df -h命令
ini格式书写/etc/ansible/hosts(清单)文件
对受管主机添加别名
别名不是/etc/hosts中的主机名,两者不一样,给11的别名是testA
ansible的免密认证
1.在ansible主机上
2.给自己一份(其实这里最好用ip)
3.给受管主机(server2和serevr3)分别一份
测试别名+免密访问
一次性操作清单中的所有主机
分组管理主机
1.
2.
分组内容的简写形式
测试主机名访问受管主机
测速主组和子组
1.
2.
yaml格式的清单编写