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