在这个 DevOps 的世界里,Dev 部分似乎总是备受瞩目,而 Ops 则成了关系中被遗忘的一半。 几乎就像是领先的 Dev 告诉落后的 Ops 该做什么,几乎所有 “Ops” 都是 Dev 说应该是什么。 因此,Ops 被抛在了后面,被推到了后台,被贬到了替补席。
我希望看到更多 OpsDev 的发展。 因此,让我们来看看 Ansible 可以帮助您在日常运维生活中完成的一些事情。

我选择在 Ansible Tower 中展示这些解决方案,因为我认为用户界面 (UI) 为大多数任务增加了价值。 如果您想模拟这个,您可以在 AWX,Tower 的上游开源版本中进行测试。
管理用户
在大型环境中,您的用户将被集中在 Active Directory 或 LDAP 等系统中。 但我敢打赌,仍然有很多环境中存在大量静态用户。 Ansible 可以帮助您集中解决这个分散的问题。 并且社区已经为我们解决了这个问题。 认识一下 Ansible Galaxy 角色 users。
这个角色的巧妙之处在于它允许我们通过数据来管理用户——无需更改剧本逻辑。

通过简单的数据结构,我们可以添加、删除和修改系统上的静态用户。 非常有用。
管理 sudo
权限提升有很多种形式,但最流行的一种是 sudo。 通过每个用户、组等的离散文件来管理 sudo 相对容易。 但有些人对随意授予权限提升感到紧张,更喜欢设定时间限制。 因此 这里有一个方案,使用简单的 at 命令来限制授予的访问权限的时间。

管理服务
如果能给入门级的运维团队一个 菜单,让他们可以简单地重启某些服务,岂不是很棒? 瞧!

管理磁盘空间
这里有一个简单的角色,可以用来查找特定目录中大于 N 大小的文件。 在 Tower 中执行此操作,我们还可以额外启用 回调。 想象一下,您的监控解决方案发现文件系统超过 X% 满,并触发 Tower 中的一个作业来找出哪些文件是原因。

调试系统 性能问题
这个角色非常简单:它运行一些命令并打印输出。 详细信息在运行结束时打印给您,系统管理员,供您仔细查看。 额外作业:使用 regexs 在输出中查找某些条件(例如,CPU 占用率超过 80%)。

总结
我已经录制了一个关于这五个任务实际操作的短视频。 您也可以在 GitHub 上找到所有代码!
2 条评论