我认为分配递增的端口号并不是一些全新的东西;这是很多系统管理员每天要做的事情,因此必须有某种方法可以做到。
编辑:我们直接在
group_vars/all.yml
中添加端口号,如下所示: ports:
service1:1024
service2:1025
service3:1026
库存是自动生成的,因为我们创建了其他监狱(BSD)并取决于将要执行的角色。
#1 楼
免责声明:我不使用Ansible。我要做的是使用随机的“可预测”数字。
根据Ansible doc,您可以为随机数生成器添加种子:
从Ansible 2.3版开始,还可以从种子初始化随机数
生成器。这样,您可以创建
随机幂等数:
“ {{59 | random(seed = inventory_hostname)}} * * * * root
/ script / from / cron“
所以在您的情况下,您需要一个端口号(我认为是非特权的),我会使用以下变量:
/>
最高为32767,以避免与任何客户端启动的端口发生冲突(原因请参阅临时端口)。
评论
我考虑过,这是一个好主意,但这使增加的部分成为不可能。具有在特定端口范围内逻辑相关的某些服务可能是非常理想的。
– Midor
17 Mar 2 '17 at 13:13
评论
由于您可能仍然必须将服务添加到清单中,是什么阻止了您在此处手动添加特定的端口号?或者,如果您的库存是自动生成的,那么您可能应该在库存生成级别解决问题您能否附上一些Ansible片段?目前尚不清楚您是要使用group_vars还是将变量直接添加到清单文件中。还不清楚如何生成库存。
您是否考虑过使用像HashiCorp的Consul这样的服务发现工具?