查看ansible主配置文件
也是很多中括号分了许多语句块
**大部分注释,许多都可以保持默认,为什么本机操作的指令,会在其他机器上执行
当你输入命令的时候会转换成python脚本,放到.ansble/tmp文件下,这个文件是自动创建的
**
会自动生成脚本放这里
会复制到远程被控制主机上,但是执行完都会被删除
plugin_filters_cfg插件的配置文件
forks 5 同时执行5个操作(会并发执行个)
poll_interval 多长时间去拉一次数据15S
sudo用户名是root(在执行命令的时候是以root身份执行的,而不仅仅是当前用户)
ask_sudo_pass 是否sudo的时候询问口令
askp_ask 提供用户名口令
transport 传输的
remote_port远程主机的端口号 22 (ssh端口)
链接远程主机的时候,是否验证它的公钥
未连接过的主机,known_hosts文件不存在,带来的问题就是yes/no,会报错
如果和对方从来没有连接过,这里就会报错,
如果用ansible,链接,第一次最好用ssh链接一下,然后才支持ansible控制
就可以取消下面的注释
取消注释将禁用key的检查
禁用key的检查可以连接了
建议启用日志,记录管理的哪些主机,执行了哪些操作,
默认是不记录日志的,需要记录日志就需要把配置文件修改一下
取消注释即可
默认是没有这个文件的,执行一个操作后就有了
ansible是一个管理的,不是常驻内存的,不需要一直执行的操作,所以不是以服务方式运行的
一般建议改这两项,其他不需要修改
ansible对应了很多命令
要想了解ping模块怎么使用,可以用ansible-doc 类似于man帮助
-l列出所有模块
还有关于windows的模块
也有针对zabbix的模块,zabbix是监控软件
默认返回是pong
-s是大致了解一下
当前什么身份就是,链接到自己的机器默认是root身份,指定用户可以用-u
以wang的身份链接上去,用sudo切换root身份执行命令
wang账号没有在机器上sudo授权,所以无法使用
所以在机器上给wang授权,sudo,把wang加到wheel组里
成功
但是每次输入口令比较麻烦,可以把sudo配置文件里的nopass删除
可以解决了
但是都很麻烦,最好的就是基于key验证(ansible用root操作的时候也需要注意不然太危险)
复制到别的机器
ansible的主机模式
两个或者执行就用:号
单双引号都可以
并且交集的话只能是101
逻辑非,就是在websrvs,但不能在dbsrvs
只支持单引号
正则表达式需要用~号开始
拷贝过去脚本,加上执行权限
最后有删除的操作
绿色表示成功,并且没有给系统做任何修改
ansible常见模块,默认模块使用最多的模块就是command模块
详细用法
chdir 相当于先cd命令,进入文件夹在执行某个操作
creates 如果一个文件或者模式对应已经存在,将不做后面的操作
remove如果不存在将不执行
因为不存在所以跳过了
先进入到boot,再去ls
文件里需要加#!/bin/bash规范
command命令对应管道和重定向都有问题
command在针对特殊使用的时候,是有特殊的问题的,所以解决方法是用shell模块
查看shell模块帮助
-a的参数放到单引号里比较稳妥
清空目录,但是人推荐不要用这个,因为有专门的文件管理模块file
只需要在ansible主机上编好脚本,就可以在其他主机上执行
查看doc帮助
想把文件复制到主机,
现在想把selinux的策略都改成disabled
把自身的disabled的selinux配置文件拷贝到其他地方,copy模块
backup做一个备份
修改成功有一个备份
disable生效,该文件是不会生效的,有BUG,其实是成功了
成功
复制过去的的时候属性变了
复制过去并且改属性
可以用content指明内容,直接生成文件
copy,实现了把本机的文件拷贝到远程,还有一个是把远程主机的文件抓取到本机(比如日志)那就需要用到Fetch