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