希望你们一切顺利!
我通过Salt-Stack Salt-Cloud python API.
自动部署AWS EC2中的MongoDB副本集我想使用单个脚本来配置服务器:
client=salt.cloud.CloutClient(path'/etc/salt/cloud')
client.profile('db_node_profile',names=['host1','host2','host3'])
但是,我希望使用不同的云配置文件创建第一台服务器,比如db_master_profile。 “profile”客户端有一个vm_overrides选项(参见上面链接的文档),但我找不到它应该如何工作的更多细节。
任何人都可以了解vm_overrides如何工作,如果这是一个可能的解决方案,或者使用低开销的SINGLE脚本基于Salt-Cloud配置文件配置实例的替代方式?
答案 0 :(得分:0)
vm_overrides
选项用于在配置时更改小兵的配置。它可以覆盖配置文件中设置的任何配置,但不能修改您正在使用的配置文件。
对于你的情景,你可以做两件事:
vm_overrides
更改您想要的所有配置。由于您已经拥有特定的个人资料,因此不切实际。示例:
client=salt.cloud.CloutClient(path'/etc/salt/cloud')
client.profile('db_node_profile',names=['host1','host2','host3'])
{
'host1': {'backups_active': 'False',
'created_at': '2014-09-04T18:10:15Z',
'droplet': {'event_id': 31000502,
'id': 2530006,
'image_id': 5140006,
'name': u'minion01',
'size_id': 66},
'id': '2530006',
'image_id': '5140006',
'ip_address': '107.XXX.XXX.XXX',
'locked': 'True',
'name': 'minion01',
'private_ip_address': None,
'region_id': '4',
'size_id': '66',
'status': 'new'}
}
client.profile
两次,一次调用
第一台服务器有不同的配置文件,另一台服务器用于
剩余服务器使用默认配置文件。示例:
client=salt.cloud.CloutClient(path'/etc/salt/cloud')
client.profile('db_node_profile_0',names=['host1'])
client.profile('db_node_profile_1',names=['host2','host3'])