网易首页 > 网易号 > 正文 申请入驻

Ansible把3000个模块塞进SSH:运维圈这操作真敢玩

0
分享至

运维圈有个老梗:装个监控agent,结果agent先挂了,监控了个寂寞。2012年Ansible出生时就赌了一手——零agent,纯SSH走天下。十三年过去,这手牌成了基础设施自动化的默认打法。现在它把API彻底免费开放,相当于把赌场筹码撒了一桌,谁都能上桌。

1. 一条pip命令,把服务器变成遥控玩具

安装Ansible只需要一行:pip install ansible。没有守护进程,没有后台服务,你的笔记本电脑就是控制中心。这设计像极了老式电视机——遥控器不需要和电视"配对",红外信号过去,电视就得响应。

核心就两样东西:inventory(主机清单)和playbook(剧本)。inventory.ini里分组写IP,web组放两台机器,db组放一台,变量统一挂all:vars下面。playbook用YAML写,缩进就是语法,人类可读性直接拉满。

一个典型场景:给web组装Nginx。三行任务——装包、拷配置、启服务。配置改了?handler自动触发重启。整个流程像外卖下单:选地址、选菜品、确认送达,系统自己跑腿

执行也简单:ansible-playbook -i inventory.ini deploy.yaml。SSH密钥一配,几百台机器同时开工。早年在某电商公司见过更野的用法:双十一前夜,运维把笔记本往工位一插,去楼下抽了根烟,回来扩容完成了。

2. 幂等性:重复执行不会炸的魔法

Ansible最被低估的特性是幂等(idempotent)。这个词听着玄乎,道理很糙:跑一百遍和跑一遍,结果一样。Nginx已安装?跳过。配置已是最新?不动。服务已在运行?不重启。

对比Puppet、Chef那代工具,它们早期版本跑两遍可能装出两个实例,或者把配置文件覆盖成乱码。Ansible从设计层面堵死了这条路——每个模块先查状态,再决定动不动作。这省了多少凌晨三点的故障电话,只有老运维懂。

YAML的代价是缩进地狱。少一个空格,报错信息能把你绕晕。但换个角度,它强迫你写得像清单一样整齐。代码审查时,一眼能看出任务顺序有没有毛病。某云厂商的SRE团队内部规定:playbook超过50行必须拆role,就是为了可读性。

3. Role和Galaxy:把重复劳动打包成乐高

项目大了,playbook会膨胀成面条代码。Ansible的解法是role——把任务、变量、模板、文件按目录结构封装。ansible-galaxy init roles/webserver一键生成骨架,main.yaml里写核心逻辑,defaults放默认配置,templates放Jinja2模板。

Galaxy是官方集市,三千多个role随便下。装MySQL?有人写好了。配防火墙?有人踩过坑了。这生态像极了早期npm,重复造轮子是技术人员的原罪,直接抄作业才是生产力

但Galaxy也有烂货。某次调研发现,排名靠前的Nginx role里,三分之一还在用废弃的yum模块。开源社区的信任成本在这儿:星星多不代表代码新,下载前得看一眼最后更新时间。企业级用法通常是fork到私有仓库,自己维护版本。

4. Vault:把密码塞进代码,但锁起来

自动化绕不开secrets。数据库密码、API密钥、TLS证书,往哪放都是雷。Ansible Vault的做法是加密变量文件,运行时解密ansible-vault create secrets.yaml生成加密文件,内容只有持有密码的人才能看。

执行时加--ask-vault-pass手动输密码,或者配vault密码文件走CI/CD。这设计不算完美——密码文件本身又成了新攻击面——但在2014年那个语境下,比明文写死在Git里强太多了。

更现代的用法是和HashiCorp Vault、AWS Secrets Manager集成。Ansible 2.10后内置了lookup插件,能动态拉取外部密钥。某金融科技公司的流水线:Git里只存引用ID,真实密钥每次部署时从Vault临时申请,过期作废。

5. 3000+模块:从虚拟机到Kubernetes的全覆盖

Ansible的模块库已经膨胀到三千多个。AWS、Azure、GCP的API封装,Docker、K8s的容器编排,Cisco、Juniper的网络设备配置,甚至Windows域控管理,全部能用YAML描述。

这让它成了异构环境的粘合剂。传统机房有物理机,云上跑着EC2,容器平台用EKS,网络设备来自三家厂商——Ansible像万能转接头,一头插你的意图,一头插各种API

但模块多也有副作用。aws_ec2模块和amazon.aws.ec2_instance模块功能重叠,文档分散在不同版本。新手常犯的错误:抄了篇三年前的博客,用的模块早已废弃。官方文档的version_added字段得养成习惯扫一眼。

Red Hat 2015年收购Ansible后,商业化路线是Tower(现叫AAP)。免费版功能受限,但核心引擎永远开源。这次API彻底免费开放,相当于把Tower的REST API能力下沉到社区版——你能用Python直接调Ansible,不用装那个沉重的Java后台了

某DevOps工程师在GitHub issue里吐槽:终于不用为了API调个playbook,去维护一个AAP实例了。这条评论收获了四百多个赞。

开放API的直接影响:CI/CD集成更轻量。Jenkins、GitLab CI、GitHub Actions里直接起Python容器,pip装ansible,HTTP触发playbook执行。日志结构化输出,失败节点自动重试,全部代码可控。

但SSH的瓶颈也在大规模场景暴露。五千台机器同时建连接,SSH握手能把控制节点CPU打满。解决方案是分批执行(serial参数)或上 Mitogen 插件走持久连接。Ansible 2.15实验性的"无控制节点"模式,让目标机器互相拉取任务,彻底解耦中心节点。

技术选型永远有trade-off。Terraform声明式、状态文件驱动,适合云资源;Ansible命令式、无状态,适合配置漂移修复。两者不是替代关系,是组合拳。某SaaS公司的实践:Terraform管基础设施生命周期,Ansible管机器内部细节,边界划在操作系统启动之后。

Agentless的代价是依赖SSH可用性。网络分区时,Ansible无能为力。Puppet、Salt的agent模式反而能缓存状态,等网络恢复后同步。这是架构层面的取舍,没有银弹。

这次API开放,Red Hat的算盘很明显:降低试用门槛,培养社区习惯,企业级支持自然转化。但社区版的功能已经足够硬核——三千模块、Vault加密、Role复用、幂等执行,小团队能用到公司上市

有个细节值得玩味:Ansible的logo是太空船,设计灵感来自《银河系漫游指南》。那本小说里,超级计算机Deep Thought算了750万年,给出终极答案是42。Ansible的哲学倒过来——别追求终极答案,先把眼前这堆服务器管明白

你现在用Ansible还是Terraform?或者已经切到Pulumi写Python了?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
伊朗发现重大惊喜,打向以色列的导弹,竟然一颗都没被拦截

伊朗发现重大惊喜,打向以色列的导弹,竟然一颗都没被拦截

枫尘余往逝
2026-04-08 16:12:36
毛泽覃牺牲后遗孀想再婚,毛主席说:我不反对,但你要记住一件事

毛泽覃牺牲后遗孀想再婚,毛主席说:我不反对,但你要记住一件事

抽象派大师
2026-04-09 14:51:21
美军宣称摸清中国导弹库存!俄专家:中国解放军可以半小时定胜负

美军宣称摸清中国导弹库存!俄专家:中国解放军可以半小时定胜负

共工之锚
2026-04-07 00:20:47
中国龙江森林工业集团原副总经理马椿平被查

中国龙江森林工业集团原副总经理马椿平被查

界面新闻
2026-04-09 16:06:55
31岁男子交女友未果,迁怒杀害发小

31岁男子交女友未果,迁怒杀害发小

中国新闻周刊
2026-04-08 14:00:08
武汉再添一座“新天地”,预计2027年启动

武汉再添一座“新天地”,预计2027年启动

越乔
2026-04-09 22:35:00
澳大利亚总理痛批特朗普:堂堂美国总统,讲这话简直不成体统

澳大利亚总理痛批特朗普:堂堂美国总统,讲这话简直不成体统

天气观察站
2026-04-09 12:38:20
签了停火也没用!美国85名议员联手逼宫,坚持罢免特朗普

签了停火也没用!美国85名议员联手逼宫,坚持罢免特朗普

沧海旅行家
2026-04-09 15:00:24
伊朗武装部队宣布对美以战事取得胜利

伊朗武装部队宣布对美以战事取得胜利

澎湃新闻
2026-04-09 00:09:01
中央定调了!养老金调整或将启动,养老金4000元能上涨120元吗?

中央定调了!养老金调整或将启动,养老金4000元能上涨120元吗?

小谈食刻美食
2026-04-09 08:39:38
18.98万起!广汽官宣:新车正式上市

18.98万起!广汽官宣:新车正式上市

高科技爱好者
2026-04-08 23:24:09
这就是回家要脱裤子才能上床的原因!网友:看完天都塌了!

这就是回家要脱裤子才能上床的原因!网友:看完天都塌了!

夜深爱杂谈
2026-02-07 19:05:55
西班牙反了,法国反了,印度也反了,全世界都看清特朗普最怕啥

西班牙反了,法国反了,印度也反了,全世界都看清特朗普最怕啥

七堇年a
2026-04-09 14:55:13
英国45驱逐舰意外故障,疑似被中国外贸反舰导弹击中

英国45驱逐舰意外故障,疑似被中国外贸反舰导弹击中

恋人眼中的女孩
2026-04-09 12:17:42
俄“军事强国”戏码:防空缺弹闹剧

俄“军事强国”戏码:防空缺弹闹剧

小眼睛小世界
2026-04-09 09:47:28
20万亿投资:中国启动全球最大规模城市更新计划

20万亿投资:中国启动全球最大规模城市更新计划

小蒋爱唠嗑
2026-04-09 16:54:20
海外首个华人共和国,面积超台湾20倍,时隔多年现状如何?

海外首个华人共和国,面积超台湾20倍,时隔多年现状如何?

优趣纪史记
2026-04-08 16:04:14
A股突发!一上市公司工厂发生火灾,停产停业!今天股价大跌

A股突发!一上市公司工厂发生火灾,停产停业!今天股价大跌

证券时报e公司
2026-04-09 21:34:59
想买车的再等等,五大重磅新车即将在4月份上市,每款都有杀手锏

想买车的再等等,五大重磅新车即将在4月份上市,每款都有杀手锏

火星说车
2026-04-08 16:20:53
3-2险胜日乒悍将!国乒20岁新星崛起:王皓爱将终于觉醒?

3-2险胜日乒悍将!国乒20岁新星崛起:王皓爱将终于觉醒?

李喜林篮球绝杀
2026-04-09 15:01:58
2026-04-10 01:04:49
赛博兰博
赛博兰博
专注捣鼓AI效率工具,试图在这个时代留下数字分身的探索者。
1041文章数 12关注度
往期回顾 全部

科技要闻

Meta凌晨首发闭源大模型 扎克伯格又行了?

头条要闻

媒体:"浑身是血"的美军上校藏身山缝 15分钟内被转移

头条要闻

媒体:"浑身是血"的美军上校藏身山缝 15分钟内被转移

体育要闻

8万人面前心脏骤停 现在他还站在球场上

娱乐要闻

金莎官宣结婚 与老公孙丞潇相差18岁

财经要闻

停火又悬了,最糟糕的情况要来了?

汽车要闻

文飞掌舵,给神行者带来了什么?

态度原创

游戏
房产
亲子
本地
公开课

Xbox手柄重大失误!微软补偿方案出炉堪称豪华

房产要闻

利润暴跌44%!那个春节被骂惨了的海峡股份 正在经历什么?

亲子要闻

白血病的雷,早在胎儿时期就已埋下,但未必会炸

本地新闻

12吨巧克力有难,全网化身超级侦探添乱

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版