美文网首页
Ansible复杂模块的使用:Setup模块、Service模块

Ansible复杂模块的使用:Setup模块、Service模块

作者: 似朝朝我心 | 来源:发表于2021-09-14 08:10 被阅读0次

    ansible-doc module (可查看相关模块的用法)

    一.Setup模块(获取远程主机的相关信息)


    使用Filter过滤主机的基本信息;

    使用Filter过滤主机的基本信息;

    Grep 过滤

    -A -B -C 后面都跟阿拉伯数字
    -A是显示匹配后和它后面的n行上下文。
    -B是显示匹配行和它前面的n行。
    -C是匹配行和它前后各n行。

    使用grep -A过滤主机的基本信息;



    使用grep -C过滤主机的基本信息;



    使用grep -B过滤主机的基本信息;

    二.Service模块(启动远程主机服务)

    检测环境:agent2主机需要挂载光盘



    安装httpd服务,因为已经装了,所以执行过程是绿色的,如果没安装过的话,命令执行过程是橘黄色的。



    我们可以看到上面查看httpd服务的状态尚未开启,所以是红色的。

    远程开启httpd服务和和设置开机自启



    在master主机查看agent2主机的httpd服务状态是否开启



    Agent2主机也可以进行验证httpd服务是否开启

    三.Script 模块(本机脚本放到远程执行)

    测试脚本执行
    创建test脚本



    编辑test脚本文件,给远程机写入内容追加权限。



    追加本机执行权限,在远程主机执行脚本

    Agent2主机上验收,看看文件是否在远程写入和查看追加的权限是否一致。

    测试creates参数


    四.Template模块

    模板文件存在主机变了,用普遍命令ansible方式个性化copy


    Agent2主机进行验收

    编写一个简单的剧本,尝试使用 setup模块和hosts变量个性化copy包含变量的文件

    创建tpl.j2脚本文件和template.yml剧本文件




    编辑剧本文件template.yml



    执行剧本文件template.yml,ansible-playbook 执行模块,会在远程主机生成相应模板文件。

    Agent1主机查看生成相应模板文件:sysinfo.txt

    Agent2主机查看生成相应模板文件:sysinfo.txt


    五.模块比较:比较template模块和copy模块

    Template和Copy的作用都是为了拷贝文件,Template模块是基于模板的形式输出,但是template模块只能用在playbook中运行。所以Template模块需要搭配剧本文件.yml运行、而.yml文件执行的是.j2脚本。

    Copy模块是当作字符输出,template模块是个性化输出


    使用Copy模块,没有输出个性化信息,直接当字符内容输出

    验收结论:copy模块下没有输出变量的相关信息,而是当字符输出

    相关文章

      网友评论

          本文标题:Ansible复杂模块的使用:Setup模块、Service模块

          本文链接:https://www.haomeiwen.com/subject/nvoqgltx.html