Mongodb
我將如何使用 saltstack 模板化 SLS
我正在嘗試使用 Mongodb(分片)進行概念驗證,並且我希望每次啟動新集群時都執行一個命令,而不必在我的所有 sls 文件中添加行。我目前的初始化如下:
mongo Replica4 :27000 /usr/lib/mongo/init_addshard.js:
命令:
- run - user: present
Replica4 這個詞不是模板化的 id,我想知道一種我能夠做到的方式,這樣當我啟動一個新集群時,我就不必觸及這個文件中的任何內容。
看看鹽柱。但在你這樣做之前,看看我下面的可怕黑客,所有這些都在一個 init.sls 中:
{% for environment in 'test','production','development' %} /etc/nginx/sites-available/{{ environment }}: file: - managed - source: salt://templates/nginx.conf.template - template: jinja - defaults: environment: {{ environment }} /etc/ssl/private/{{ environment }}.key.pem: file: - managed - source: salt://certs/{{ environment }}.key.pem /etc/ssl/certs/{{ environment }}.cert.pem: file: - managed - source: salt://certs/{{ environment }}.cert.pem {% endfor %}
我正在為 nginx 配置 ssl 密鑰,但您只需將 Replica4 放在那裡,它將被擴展為environment。我只是根據需要添加環境,它會為我同步所有環境。
你的可能看起來像:
{% for environment in 'Replica4','Replica5', %} mongo {{ environment }}:27000 /usr/lib/mongo/init_addshard.js: cmd: - run - user: present {% endfor %}