摘要
- Ansible是一个DevOps工具,可以替代PowerShell
- RunDeck作为图形界面很方便
- 有些人一起运行RunDeck + Ansible
clusterssh
为了将远程命令发送到多个服务器,对于初学者,我建议使用clusterssh
要clusterssh
在Debian中安装:
apt-get install clusterssh
另一个clusterssh教程:
ClusterSSH是Tk / Perl包装器,它包装了标准Linux工具(如XTerm和SSH)。这样,它几乎可以在存在该库的所有POSIX兼容操作系统上运行-我已经在Linux,Solaris和Mac OS X上运行它。它需要Perl库Tk(在Debian或Ubuntu上为perl-tk)和X11 :: Protocol(在Debian或Ubuntu上为libx11-protocol-perl),以及xterm和OpenSSH。
Ansible
至于用于多系统管理的远程框架,Ansible是Puppet的非常有趣的替代品。它更精简,并且不需要专用的远程代理,因为它可以通过SSH进行工作(它也已被RedHat购买)
这些Playbooks比命令行选项更为详尽。
但是,要开始使用Ansible,您需要简单的安装并设置客户端列表文本文件。
然后,要在所有服务器上运行命令,就很简单:
ansible all -m command -a "uptime"
每个规则/服务器的输出格式也非常好,并且分开,并且在后台运行时,可以将其重定向到文件并在以后进行查询。
您可以从简单的规则开始,随着您在Linux中的增长,Ansible的用法将变得更加有趣,并且您的基础结构也将变得更大。这样一来,它将比PowerShell发挥更多的作用。
例如,我写了一个非常简单的Playbook来升级Linux服务器:
---
- hosts: all
become: yes
gather_facts: False
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
它还定义了许多模块,可让您轻松编写全面的策略。
模块索引-Ansible文档
它还有一个有趣的官方中心/“社交”存储库网络,以搜索社区已制定的烦人政策。Ansible星系
Ansible也被广泛使用,您将在github中找到许多项目,例如我自己的FreeRadius setup项目。
尽管Ansible是一个免费的开放源代码框架,但它也具有付费Web面板界面Ansible Tower,尽管许可费用相当昂贵。
如今,在RedHat收购它之后,Tower还拥有称为AWX的开源版本。
作为奖励,Ansible还能够管理Windows服务器,尽管我从未使用过。
它还能够管理网络设备(路由器,交换机和防火墙),这使其成为自动化交钥匙解决方案非常有趣的解决方案。
如何安装Ansible
朗德克
再说一次,对于易于使用但不如Ansible强大的远程框架,我建议使用Rundeck。
它是一个非常强大的多用户/登录图形界面,您可以在其中自动化许多日常任务,甚至可以为sysops或服务台人员提供淡化的视图。
运行命令时,它还会为您提供窗口,其中按服务器/任务细分了输出。
它可以在后台无缝运行多个作业,并允许您稍后查看报告和输出。
如何安装RunDeck
请注意,有人将Ansible + RunDeck作为Web界面运行;并非所有情况都适用于此。
不用说,可以将Ansible和/或RunDeck解释为基础结构文档的一种形式或一部分,并且随着时间的推移,它可以复制和改进操作/食谱/ Playbook。
最后,谈到中央命令服务器,我将为任务创建一个服务器。实际上,技术术语是跳转框。如果正确设置“跳箱”,则可以提高安全性。