Network

Ansible运维自动化工具(3)-模块

2021-06-24  本文已影响0人  刘小白DOER

    今天继续测试Ansible模块。

一、script模块

      ansible-doc -s script :获取script模块的使用帮助。

      上一篇文章讲了shell模块的,脚本需要在被管理机器上面存在,而script模块用于在被管理机器上面执行shell脚本的模块,脚本无需在被管理机器上面存在。即将本机的脚本在被管理端的机器上运行。

    这个在实际运维中十分有用,只需要在管理机上编写脚本,不用分发即可运行。当然copy模块来分发也很简单,但是script模块在管理上使得运维就更加方便。

二、pip模块

    ansible-doc -s pip :获取pip模块的使用帮助。用于安装python中的包。

    使用pip时,需要保证被管理机器上有python-pip软件包,可以通过yum模块来安装。

    ansible tcloud -m yum  -a   'name=python-pip'  

    然后使用pip模块来安装。

    ansible  tcloud -m pip -a   'name=numpy'

    运行时会有个问题,就是被管理机上没有pip,只有pip3,会返回Unable to find any of pip2 。

    这是查看pip模块的使用帮助,可以指定pip的环境,但是仍存在权限问题,需要root权限。

     ansible tcloud -m pip -a 'executable=pip3 name=numpy'

    添加sudo权限来执行成功,关于怎么添加sudo权限,请参考文章-Ansible运维自动化工具(2)。

     ansible tcloud -m pip -a 'executable=pip3 name=numpy' -become=true

    这时在被管理机上查看pip包,显示安装成功。

三、ping模块

       这个模块在第一篇文章中以及测试过,现在简单总结一下。

      ansible-doc -s ping :获取ping模块的使用帮助。

      Try to connect to host, verify a usable python and return `pong' on success

四、user模块

    ansible-doc -s user:获取user模块的使用帮助。

    用于对系统用户的管理,用户的创建、删除、家目录、属组等设置。

    完整的建立用户的命令,需要root权限。

   ansible tcloud -m user -a 'name=mycenots home=/home/mycentos uid=1002 shell=/usr/bin/bash' -become=true  

    删除用户以及家目录,同样需要roo权限。

    ansible tcloud -m user -a 'name=mycenots state=absent remove=yes' -become=true

五、group 模块

     该模块主要用于添加或删除组。当创建用户时如果需要指定组,组不存在的话就会有错误,就可以通过group先创建组。

    这个模块笔者就不再测试了,只看看命令吧。

    创建组:

    ansible tcloud -m group -a 'name=mycentos gid=1232'   -become=true

    查看创建的组:

    ansible  tcloud -m shell -a 'cat /etc/group | grep 1232'

   删除组:

     ansible tcloud -m group -a 'name=mycentos state=absent'   -become=true

    最后,来看一下ansible执行后每次返回的结果字符的颜色是由区分的,可以通过 echo $? 来查看上一条命令执行的结果。

 ansible执行运行命令的结束代码。

运行正常的返回码是0,其他返回码都是存在错误的情况,同时颜色也会不一样。

上一篇下一篇

猜你喜欢

热点阅读