自动化运维工具Ansible第四篇——Ansible模块实用技巧(2)

网友投稿 859 2022-10-07

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

自动化运维工具Ansible第四篇——Ansible模块实用技巧(2)

group模块

group模块可以使用户通过管理节点管理被管理节点中的组。

group模块常用的选项,如下。

name:用于指定要操作的组名称

state:用于指定组的状态,默认为present,设置为absent表示删除组。

gid:用于指定组的gid

使用group模块在被管理节点中创建一个组:

ansible webserver -m group -a 'gid=2022 name=ansible_test'

这条命令中,在被管理节点中创建了一个命名为“ansible_test”的组,并且gid为2022。

在Ansible主机中执行命令,查看组是否已存在:

ansible webserver -m shell -a 'cat etc/group |grep ansible_test'

user模块

user模块可以帮助用户管理远程被管理节点中的用户,例如创建、删除、修改用户属性等。

user模块常用的选项,如下。

name:用于指定要操作的组名称

group:定用户所在的基本组

gourps:指定用户所在的附加组,如果用户已经存在并且已经拥有多个附加组,那么如果想要继续添加新的附加组,需要结合append参数使用,否则在默认情况下,当再次使用groups参数设置附加组时,用户原来的附加组会被覆盖

append:如果用户原本就存在多个附加组,那么当使用groups参数设置附加组时,当前设置会覆盖原来的附加组设置,如果不想覆盖原来的附加组设置,需要结合append参数,将append设置为yes,表示追加附加组到现有的附加组设置,append默认值为no。

shell:指定用户的默认shell

uid:指定用户的uid号

expires:用于指定用户的过期时间

comment:指定用户的注释信息

state:用于指定用户是否存在于远程主机中,可选值有present、absent,默认值为present,表示用户需要存在,当设置为absent时表示删除用户

remove:当state的值设置为absent时,表示要删除远程主机中的用户。但是在删除用户时,不会删除用户的家目录等信息,这是因为remove参数的默认值为no,如果设置为yes,在删除用户的同时,会删除用户的家目录

使用user模块在被管理节点中创建一个用户:

ansible webserver -m user -a 'name=book_test group=book'

这条命令在webserver组中的被管理节点上都创建了用户book_test,并且将其组设置为book。

删除无用用户:

ansible webserver -m user -a 'name=book_test state=absent remove=yes'

service模块

service模块用于帮助用户管理被管理节点中的服务,例如开启、停止、终止等,可管理的服务有HTTP、SSH等。

service模块常用的选项,如下。

name:指定需要操作的服务名称

state:指定服务的状态,可用值有started、stopped、restarted、reloaded

enabled:定是否将服务设置为开机启动项

arguments:给命令提供一些选项

runlevel:运行等级

sleep:在服务被重启时,规定睡眠时间

使用service模块开启被管理节点中的firewalld防火墙服务:

ansible webserver -m service -a "name=firewalld state=started"

yum模块

yum模块与Linux操作系统中的yum命令相似,主要作用都是安装软件包,并且自动处理依赖关系。

yum模块常用的选项,如下。

conf_file:设定远程yum执行时所依赖的配置文件

disable_gpg_check:安装之前是否检查gpg_key

name:软件名称,支持软件组安装

update_cache:更新缓存

enablerepo:指定repo源

使用yum模块在被管理节点中安装tree命令:

ansible host4 -m yum -a 'name=tree state=present'

尝试执行tree命令:

ansible host4 -m shell -a 'tree root'

get_url模块

get_url模块可以帮助用户根据URL将网站内容进行下载。

以百度网站为例,对get_url模块进行测试:

ansible host4 -m get_url -a 'dest=/tmp url=https://baidu.com'

此时,已经将百度主页文件下载到了/tmp下。

那么就到此为止吧,再讲下去就收不住了。下一篇讲解非标记性语言YAML在Ansible中的应用。

放个链接,万一有人关注呢

上一篇:项目1.3 Linux系统与服务构建运维之yum仓库配置及ftp服务管理
下一篇:自动化运维工具Ansible第五篇——YAML基础入门
相关文章

 发表评论

暂时没有评论,来抢沙发吧~