![Ansible - 可以控制多少个分段网络并进行操作](https://linux22.com/image/772303/Ansible%20-%20%E5%8F%AF%E4%BB%A5%E6%8E%A7%E5%88%B6%E5%A4%9A%E5%B0%91%E4%B8%AA%E5%88%86%E6%AE%B5%E7%BD%91%E7%BB%9C%E5%B9%B6%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C.png)
我目前正在使用 Ansible 的免费版本。单个 Ansible 控制器可以管理的最大主机数是多少?我认为这取决于服务器上配置的资源,但似乎找不到免费版本的文档。
此外,在像下面示例这样的分段网络中(混合使用 Windows 和 Linux 计算机),我不太确定,但我假设每个网段都需要一个控制器。这是正确的吗?:
- 段 A = 10.150.10.x
- 段 B = 10.151.15.x
- 段 C = 10.25.10.x
最后,需要开放的端口要求和方向是什么?
答案1
Ansible 没有自己的守护进程或协议。与远程主机的通信是通过现有的管理协议进行的。可能是 POSIX 机器的 SSH、Windows 的 WinRM,或网络设备的各种 http 或 ssh 命令行 API。虽然我建议每个端口都使用众所周知的端口,但大多数连接插件中的端口号都可以更改。
要连接各种网络,请考虑您可能听说过的路由器。您的安全策略可能允许特定区域中的管理主机远程访问每个网络。像这样集中化往往更容易管理并确保所有主机的合规性。如果不允许,请确保在每个段中的主机上运行 Ansible。
没有什么可以阻止对库存中的每个主机进行运行。一次播放中的主机数量受性能限制,存在扩展可扩展性限制。主机循环工作的默认分叉数量为 5,需要增加以在合理的时间内处理。在具有适当资源的控制盒上,个位数的主机是可行的。我依稀记得IRC 有人尝试连接 50,000+ 个主机,但这个数字受到 ansible-core 中单线程函数的限制。
实际上,您不需要 ssh 来管理主机。ansible-pull 是一个反例,是一种不同的运行方式。在托管主机上,在 cron 中安装和安排 ansible-pull,它会下载剧本并自行运行。对传入特权管理连接的需求较少。当每个主机都成为 ansible 控制器时,可扩展性限制会有所不同。