0

お元気でお過ごしください。

Salt-Stack Salt-Cloud python APIを使用して、AWS EC2 での MongoDB レプリカ セットの展開を自動化しています。

1 つのスクリプトを使用してサーバーをプロビジョニングしたいと考えています。

client=salt.cloud.CloutClient(path'/etc/salt/cloud')
client.profile('db_node_profile',names=['host1','host2','host3'])

ただし、db_master_profile などの別のクラウド プロファイルを使用して最初のサーバーを作成したいと考えています。「プロファイル」クライアント用の vm_overrides オプションがあります (上記のリンク先のドキュメントを参照)。

これが可能な解決策である場合、または低オーバーヘッドの SINGLE スクリプトを使用して Salt-Cloud プロファイルに基づいてインスタンスをプロビジョニングする代替方法である場合、vm_overrides がどのように機能するかについて誰かが光を当てることができますか?

4

1 に答える 1

0

このvm_overridesオプションは、プロビジョニング時にミニオンの構成を変更するために使用されます。プロファイルに設定されている構成を上書きできますが、使用しているプロファイルを変更することはできません。

あなたのシナリオでは、次の 2 つのことを行うことができます。

  1. で必要なすべての構成を変更します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'}
}
  1. client.profileスクリプトで 2 回呼び出すことができます。1 回目は異なるプロファイルを持つ最初のサーバー用で、もう 1 回はデフォルト プロファイルを持つ残りのサーバー用です。

例:

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'])
于 2016-12-19T15:14:50.867 に答える