这更多的是一个工作站问题而不是服务器本身的问题,但我相信最适合这个站点:
我想自动化 Windows 10 Pro 工作站配置设置。我希望能够自动将多个工具安装到 Windows 计算机中,而无需在每台计算机上手动执行此操作。我想要一个无人值守的过程,只要我不在场查看,这个过程可能需要一整天。
我希望能够安装如下内容:
Pycharm
Visual Studio
Notepad++
Android Studio
Docker
Sublime
Netbeans
Firefox
Chrome
以及其他与工作相关的工具。
我听说过Ansible
、Puppet
读过Chef
、Salt
似乎正是我需要的,但我从未使用过这样的工具。我docker
每天都在使用,但它不是我想要的。
我还看到了其他工具,例如Ninite
和SilentInstall
。
我正在寻找最好是开源的东西,或者至少有一些我可以使用的免费层。有一个 Web GUI 来集中管理事情会很好,尽管我更喜欢免费的东西,并且随着工作站数量的增加,将来可能会升级它。
我不使用 AD(至少目前不使用),因此我更喜欢能够让我连接到机器并让它们从远程位置运行的东西,甚至插入 USB 设备进行配置的东西。
现场出席不是问题,但是越灵活越好。
我应该使用什么?对上述产品有什么建议或限制吗?或者我看错了工具集,应该使用其他工具来完成这些任务?
答案1
我的声誉不足以要求澄清,因此我将假设两件事。
我不使用 AD(至少目前不使用),因此我更喜欢能够让我连接到机器并让它们从远程位置运行的东西,甚至插入 USB 设备进行配置的东西。
我不确定什么才算“运行事物”。您没有提到工作站的操作系统,但您提到了 Active Directory。如果我的以下假设不正确,请告诉我,我会看看是否可以修改答案以适应。
假设 1
您会选择一种解决方案,允许您将 USB 设备插入工作站并执行文件来部署您的“配置”。如果可以远程完成此过程,那就更好了。
假设 2
您需要支持多种不同的操作系统,包括 Windows、MacOS X 和 Linux 的某些变体。
编辑:我看到您多次提到 Windows,我不知道我怎么会错过。我在下面的比较中提到了 Windows 支持,所以我相信它们仍然相关。
您问了多个问题,我无法全部回答,所以我会将它们分开并尽可能单独回答。
我应该使用什么?
这是一个非常主观的问题,我无法回答。
或者我看错了工具集,应该使用其他东西来完成这些任务?
我相信您正在寻找正确的工具集。
对上述产品有什么建议或限制吗?(Ansible、Puppet、Chef 和 Salt)
我只使用过 Puppet。我听说过其他的,但不太了解。我将逐一介绍它们,并尽可能使用外部资源将它们与 Puppet 进行比较。
木偶
Puppet 的开源版本基本上可以满足您的要求,一旦安装在工作站上,您就可以远程更改配置(您也可以在本地应用单个清单,例如从 USB 设备)。
工作站上的 puppet 代理将按照定义的时间间隔联系远程服务器以下载定义资源列表所需状态的“清单”,其中可以包括软件包、配置文件、打印机等。
Puppet 附带有“puppetdb”,这是一个存储有关工作站的“事实”的数据库。您可以编写自己的自定义事实,但这些事实包括主机名、IP 地址、它拥有的 CPU 等。
有很多免费的高质量“模块”可供 Puppet 使用,它们被称为木偶锻造。
这基本上就是 Puppet 所做的,不多也不少。
Ansible
据我所知,Ansible 几乎可以完成 Puppet 所做的一切,只不过方式稍微简单一些 —— 除此之外,它还专注于配置和部署,这些功能我并不真正了解。
与 Puppet 一样,Ansible 也拥有大量可免费下载的模块来源Ansible Galaxy。据说这些模块不如 Puppet 提供的模块那么好,但它们仍然很棒。
来源:https://www.devopsgroup.com/2018/01/10/puppet-vs-ansible/
从技术上讲,它不支持 Windows,但无论如何都应该很容易设置:http://www.oznetnerd.com/installing-ansible-windows/
厨师
据称 Chef 与 Puppet 的比较更为直接,尽管它比 Puppet 更专注于云。Chef 据称是两者中更“先进”的,而 Puppet 则更简单。Puppet 支持更广泛的操作系统,而 Chef 拥有非常广泛的 API。
来源(其中还包括一个很好的比较矩阵):http://www.cyberphoton.com/questions/question/what-is-the-difference-between-chef-and-puppet-in-configuration-management-software
盐
这个似乎是这四个中使用最少的,而且我找不到与 Puppet 很好的比较。它似乎比 Salt 更能与 Ansible 相媲美。据说它的扩展性比其他三个更好,但虽然它确实支持 Windows,但它对此并不太满意。
四者的其他比较:
https://www.reddit.com/r/linuxadmin/comments/9ljveg/puppet_vs_salt_vs_chef_vs_ansible_which_to_choose/ https://www.intigua.com/blog/puppet-vs.-chef-vs.-ansible-vs.-saltstack