让 DevOps 少一点,OpsDev 多一点。
在这个 DevOps 世界中,看起来开发(Dev)这一半成为了关注的焦点,而运维(Ops)则是这个关系中被遗忘的另一半。这几乎就好像是领头的开发告诉尾随的运维做什么,几乎所有的“运维”都是开发说要做的。因此,运维被抛到后面,降级到了替补席上。
我想看到更多的 OpsDev。因此,让我们来看看 Ansible 在日常的运维中可以帮助你什么。
我选择在 Ansible Tower 中展示这些方案,因为我认为用户界面 (UI) 可以增色大多数的任务。如果你想模拟测试,你可以在 Tower 的上游开源版本 AWX 中测试它。
管理用户
在大规模环境中,你的用户将集中在活动目录或 LDAP 等系统中。但我敢打赌,仍然存在许多包含大量的静态用户的全负荷环境。Ansible 可以帮助你将这些分散的环境集中到一起。社区已为我们解决了这个问题。看看 Ansible Galaxy 中的 users 角色。
这个角色的聪明之处在于它允许我们通过数据管理用户,而无需更改运行逻辑。
通过简单的数据结构,我们可以在系统上添加、删除和修改静态用户。这很有用。
管理 sudo
提权有多种形式,但最流行的是 sudo。通过每个 user
、group
等离散文件来管理 sudo 相对容易。但一些人对给予特权感到紧张,并倾向于有时限地给予提权。因此下面是一种方案,它使用简单的 at
命令对授权访问设置时间限制。
管理服务
给入门级运维团队提供菜单以便他们可以重启某些服务不是很好吗?看下面!
管理磁盘空间
这有一个简单的角色,可在特定目录中查找字节大于某个大小的文件。在 Tower 中这么做时,启用回调有额外的好处。想象一下,你的监控方案发现文件系统已超过 X% 并触发 Tower 中的任务以找出是什么文件导致的。
调试系统性能问题
这个角色相当简单:它运行一些命令并打印输出。细节在最后输出,让你 —— 系统管理员快速浏览一眼。另外可以使用 正则表达式 在输出中找到某些条件(比如说 CPU 占用率超过 80%)。
总结
我已经录制了这五个任务的简短视频。你也可以在 Github 上找到所有代码!