游乐游手机版
首页/科技数码/文章详情

运维效率翻倍:带你认识 Ansible 最常用的 14 个模块

时间:2025-12-15 19:59
本文将介绍 Ansible 在运维工作中最常用的 14 个模块,带你实现工作效率的翻倍。 Ansible 是一款开源的自动化运维工具,主要用于配置管理、应用部署、任务自动化和持续交付。Ansible

本文将介绍 Ansible 在运维工作中最常用的 14 个模块,带你实现工作效率的翻倍。

Ansible 是一款开源的自动化运维工具,主要用于配置管理、应用部署、任务自动化和持续交付。Ansible 对于运维工作有多重要性,已经不需要再多言,掌握它的使用如同打开了自动化的大门。

本文将介绍Ansible在运维工作中最常用的14个模块,带你实现工作效率的翻倍。

一、基础连接与测试模块

1. ping模块

测试与目标主机的连接性:

ansible all -m ping

示例输出:

server1 | SUCCESS => { "changed": false, "ping": "pong"}

2. command模块(不支持shell特性)

在远程主机执行命令:

ansible webservers -m command -a "uptime"

常用参数:

- `chdir`:执行前切换目录- `creates`:如果文件存在则不执行- `removes`:如果文件不存在则不执行

示例:

ansible db -m command -a "mysqldump -u root -p password dbname > backup.sql chdir=/backups"

3. shell模块

在远程主机通过shell执行命令(支持管道、重定向等):

ansible all -m shell -a "df -h | grep /dev/sda1"

二、文件操作模块

4. copy模块

复制本地文件到远程主机:

ansible webservers -m copy -a "src=/etc/nginx/nginx.conf dest=/etc/nginx/nginx.conf owner=root group=root mode=0644 backup=yes"

5. file模块

管理文件属性或创建文件/目录/链接:

创建目录:

ansible app -m file -a "path=/opt/myapp state=directory mode=0755"创建软链接:

ansible all -m file -a "src=/etc/nginx/nginx.conf dest=/tmp/nginx.conf state=link"删除文件:

ansible all -m file -a "path=/tmp/testfile state=absent"

6. stat模块

获取文件状态信息:

ansible webservers -m stat -a "path=/etc/nginx/nginx.conf"

输出示例:

{ "changed": false, "stat": { "exists": true, "gid": 0, "group": "root", "mode": "0644", "mtime": 1634567890.1234567, "path": "/etc/nginx/nginx.conf", "size": 1024, "uid": 0, "owner": "root" }}

三、软件包管理模块

7. yum模块 (RHEL/CentOS)

安装包:

ansible centos_servers -m yum -a "name=nginx state=present"

更新所有包:

ansible centos_servers -m yum -a "name=* state=latest"

删除包:

ansible centos_servers -m yum -a "name=nginx state=absent"

8. apt模块 (Debian/Ubuntu)

安装包:

ansible ubuntu_servers -m apt -a "name=nginx state=present update_cache=yes"

删除包:

ansible ubuntu_servers -m apt -a "name=nginx state=absent"

四、系统服务管理

9. service模块

启动服务:

ansible webservers -m service -a "name=nginx state=started enabled=yes"

重启服务:

ansible webservers -m service -a "name=nginx state=restarted"

停止服务:

ansible webservers -m service -a "name=nginx state=stopped"

五、用户与组管理

10. user模块

创建用户:

ansible all -m user -a "name=testuser uid=1000 group=admin create_home=yes shell=/bin/bash"

删除用户:

ansible all -m user -a "name=testuser state=absent remove=yes"

11. group模块

创建组:

ansible all -m group -a "name=admin gid=1000 state=present"

删除组:

ansible all -m group -a "name=admin state=absent"

六、常用高级模块

12. setup模块

收集主机系统信息:

ansible all -m setup

过滤特定信息:

ansible all -m setup -a "filter=ansible_distribution*"

13. cron模块

添加cron任务:

ansible all -m cron -a "name='daily backup' minute=0 hour=2 job='/usr/local/bin/backup.sh'"

删除cron任务:

ansible all -m cron -a "name='daily backup' state=absent"

14. lineinfile模块

确保某行存在:

ansible all -m lineinfile -a "path=/etc/ssh/sshd_config line='PermitRootLogin no' regexp='^PermitRootLogin'"

删除某行:

ansible all -m lineinfile -a "path=/etc/hosts state=absent line='127.0.0.1 badhost'"

七. 实际使用技巧

(1) 查看模块帮助文档:

ansible-doc copy

(2) 限制执行主机:

ansible webservers[0] -m ping # 只对webservers组第一个主机执行

(3) 并行执行控制:

ansible all -m ping -f 10 # 使用10个并行进程

(4) 使用become提权:

ansible all -m yum -a "name=nginx state=present" --become --ask-become-pass

(5) 调试模式:

ansible all -m command -a "ls /nonexistent" --check -vvv

掌握这些常用模块的命令行用法,可以快速完成日常运维任务,提高工作效率。当然,对于更加复杂的任务,建议还是使用Playbook来实现更结构化的自动化管理。

来源:https://www.51cto.com/article/816424.html
上一篇《影之刃零》试玩引爆关注,吉田修平虚渊玄亲测 下一篇Redis+Caffeine 太强了!
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
优必选CEO周剑:家庭机器人生态核心投入过半精力
科技数码 · 2026-07-01

优必选CEO周剑:家庭机器人生态核心投入过半精力

先说几个核心判断:优必选正在布局一盘长远战略。创始人兼CEO周剑在近期一场媒体沟通会上,直接亮出了公司未来的发展路线——工业、商用、家庭陪伴机器人三条业务主赛道并行推进,现阶段每条线各占约一半精力。一边是已经能够稳定创造收入的工业场景,另一边则是他眼中“最具想象力与未来空间”的家庭陪伴领域。工业人形

CPO/NPO/OIO开启封装级光连接价值空间,技术路线尚未收敛
科技数码 · 2026-07-01

CPO/NPO/OIO开启封装级光连接价值空间,技术路线尚未收敛

6月30日,申银万国在光连接系列研报中重点指出,MPO光连接器领域的投资机会值得高度关注。通俗来说,随着AI算力集群持续扩张,光互联升级带来的连锁效应——数据中心光纤通道数量、前面板端口密度、机柜内光纤管理复杂度——均在同步攀升。光连接器的角色早已超越传统的低价值标准件,如今它直接决定着链路插损、可

龙岗AR实景剧本游内测体验短板有效破解之道
科技数码 · 2026-07-01

龙岗AR实景剧本游内测体验短板有效破解之道

在今年龙岗区第二届人工智能与机器人发展大会上,区级部门一次性推出了7个AI“龙搭子”。其中,名为“龙导游”的成果成为文商旅融合领域的核心亮点。据南都N视频记者了解,依托“龙导游”打造的全区全域AR实景剧本游“龙岗大陆”,已在今年五一假期发布了内测版本。经过一个月市场验证后,该项目正式启动面向全社会的

南下资金6月30日净买入中芯国际与建滔积层板
科技数码 · 2026-07-01

南下资金6月30日净买入中芯国际与建滔积层板

6月30日,南下资金持续大举买入港股,单日净流入金额高达58 95亿港元。接下来,我们直接盘点哪些个股获得资金青睐、哪些遭到减持: 净买入方面,中芯国际领跑全场,单日吸金19 33亿港元;建滔积层板紧随其后,净买入10 59亿港元;腾讯控股获得7 65亿港元净流入;智谱(02513 HK)也有6 5

电动汽车电池新国标7月实施热失控不起火不爆炸
科技数码 · 2026-07-01

电动汽车电池新国标7月实施热失控不起火不爆炸

自2026年7月1日起,两项关乎电动汽车安全的核心强制性国家标准将正式实施,为行业加装“安全锁”——《电动汽车安全要求》(GB 18384-2025)与《电动汽车用动力蓄电池安全要求》(GB 38031-2025)同步落地。此次标准升级,从整车架构与电池系统两大维度,精准填补了近年来多起事故暴露出的