使用 Ansible 完成 5 个运维任务

少一点 DevOps,多一点 OpsDev。
142 位读者喜欢这篇文章。
gears and lightbulb to represent innovation

Opensource.com

在这个 DevOps 的世界里,Dev 部分似乎总是备受瞩目,而 Ops 则成了关系中被遗忘的一半。 几乎就像是领先的 Dev 告诉落后的 Ops 该做什么,几乎所有 “Ops” 都是 Dev 说应该是什么。 因此,Ops 被抛在了后面,被推到了后台,被贬到了替补席。

我希望看到更多 OpsDev 的发展。 因此,让我们来看看 Ansible 可以帮助您在日常运维生活中完成的一些事情。

Job templates

我选择在 Ansible Tower 中展示这些解决方案,因为我认为用户界面 (UI) 为大多数任务增加了价值。 如果您想模拟这个,您可以在 AWX,Tower 的上游开源版本中进行测试。

管理用户

在大型环境中,您的用户将被集中在 Active Directory 或 LDAP 等系统中。 但我敢打赌,仍然有很多环境中存在大量静态用户。 Ansible 可以帮助您集中解决这个分散的问题。 并且社区已经为我们解决了这个问题。 认识一下 Ansible Galaxy 角色 users

这个角色的巧妙之处在于它允许我们通过数据来管理用户——无需更改剧本逻辑。

User data

通过简单的数据结构,我们可以添加、删除和修改系统上的静态用户。 非常有用。

管理 sudo

权限提升有很多种形式,但最流行的一种是 sudo。 通过每个用户、组等的离散文件来管理 sudo 相对容易。 但有些人对随意授予权限提升感到紧张,更喜欢设定时间限制。 因此 这里有一个方案,使用简单的 at 命令来限制授予的访问权限的时间。

Managing sudo

管理服务

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

Managing services

管理磁盘空间

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

Managing disk space

调试系统 性能问题

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

Debugging system performance

总结

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

接下来阅读
标签
User profile image.
Mark 拥有四分之一世纪的行业经验,在各个层面设计和构建自动化基础设施——从初创公司中的少量主机到投资银行中的数万台主机。

2 条评论

很棒的文章,我喜欢这篇文章。 它有非常有用的信息,我分享给了我的朋友们。

继续保持这样精彩的文章!

© . All rights reserved.