我正在寻找 Linux 服务器部署和配置管理的最佳可用选项。不幸的是,这不是将服务器放置在数据中心的典型场景。相反,我们有多个互联网连接有限的远程服务器(在船上)。基于重要性的要求摘要:
- 配置工具必须使用拉模型。与远程服务器的网络连接很困难或不允许。
- 带宽极其有限且昂贵。互联网连接是通过卫星使用计量连接进行的。
- 由于卫星的存在,互联网连接延迟和数据包丢失率较高。网络连接可能数小时甚至数天都不可用。恢复互联网连接时必须应用配置更改。
- 无需网络连接即可运行。这是基于重要性的最后一项,没有网络连接我们也能生存。例如,在更新的情况下,可以使用 USB 驱动器发送配置工具所需的文件。Linux 服务器可以使用 shell 脚本复制 USB 数据并更新其配置状态。
所有服务器都将使用 CentOS 7 作为操作系统。操作系统更新将使用 USB 驱动器或本地存储库进行处理。
所有服务器在离开我们的场所并前往远程位置之前都将进行初始配置。
答案1
看一下木偶。
Puppet 代理检查远程服务器并将配置清单拉到本地机器进行应用。
您根本不需要 Puppet Master,因此也不需要互联网流量。Puppet 清单可以在本地应用,并且可以从本地存储库或磁盘中提取任何软件、配置和文件。
您或许可以编写一个测试网络连接的脚本,如果可以,则触发与 Puppet Master 的 Puppet 代理连接。
- 参见第 2 项