New version of salt-formula from Saltstack
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.rst 8.3KB

9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
8 yıl önce
8 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
8 yıl önce
9 yıl önce
8 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
8 yıl önce
9 yıl önce
8 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
8 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
9 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. ====
  2. Salt
  3. ====
  4. Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds.
  5. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.
  6. Sample pillars
  7. ==============
  8. Salt master
  9. -----------
  10. Salt master with base production environment and pillar tree as metadata backend
  11. .. literalinclude:: tests/pillar/master_single_pillar.sls
  12. :language: yaml
  13. Salt master with reclass ENC as metadata backend
  14. .. literalinclude:: tests/pillar/master_single_reclass.sls
  15. :language: yaml
  16. Salt master with API
  17. .. literalinclude:: tests/pillar/master_api.sls
  18. :language: yaml
  19. Salt master with defined user ACLs
  20. .. literalinclude:: tests/pillar/master_acl.sls
  21. :language: yaml
  22. Salt master with preset minions
  23. .. code-block:: yaml
  24. salt:
  25. master:
  26. enabled: true
  27. minions:
  28. - name: 'node1.system.location.domain.com'
  29. Salt master with alternative installation source and version (optional) - pip
  30. .. code-block:: yaml
  31. salt:
  32. master:
  33. enabled: true
  34. ...
  35. source:
  36. engine: pip
  37. version: 2016.3.0rc2
  38. Salt master with specified formula to install through apt-get
  39. .. code-block:: yaml
  40. salt:
  41. master:
  42. enabled: true
  43. ...
  44. environment:
  45. prd:
  46. keysone:
  47. source: pkg
  48. name: salt-formula-keystone
  49. Clone master branch of keystone formula as local feature branch
  50. .. code-block:: yaml
  51. salt:
  52. master:
  53. enabled: true
  54. ...
  55. environment:
  56. dev:
  57. formula:
  58. keystone:
  59. source: git
  60. address: git@github.com:openstack/salt-formula-keystone.git
  61. revision: master
  62. branch: feature
  63. Salt master with specified formula refs (for example for Gerrit review)
  64. .. code-block:: yaml
  65. salt:
  66. master:
  67. enabled: true
  68. ...
  69. environment:
  70. dev:
  71. formula:
  72. keystone:
  73. source: git
  74. address: https://git.openstack.org/openstack/salt-formula-keystone
  75. revision: refs/changes/56/123456/1
  76. Salt syndic: Master of masters
  77. .. code-block:: yaml
  78. salt:
  79. master:
  80. enabled: true
  81. order_masters: True
  82. Salt syndic: Lower master
  83. .. code-block:: yaml
  84. salt:
  85. syndic:
  86. enabled: true
  87. master:
  88. host: master-of-master-host
  89. timeout: 5
  90. Salt syndic: Lower master with multi-master of masters
  91. .. code-block:: yaml
  92. salt:
  93. syndic:
  94. enabled: true
  95. masters:
  96. - host: master-of-master-host1
  97. - host: master-of-master-host2
  98. timeout: 5
  99. Salt master with custom handlers
  100. .. code-block:: yaml
  101. salt:
  102. master:
  103. enabled: true
  104. handler:
  105. handler01:
  106. engine: udp
  107. bind:
  108. host: 127.0.0.1
  109. port: 9999
  110. minion:
  111. handler:
  112. handler01:
  113. engine: udp
  114. bind:
  115. host: 127.0.0.1
  116. port: 9999
  117. handler02:
  118. engine: zmq
  119. bind:
  120. host: 127.0.0.1
  121. port: 9999
  122. Salt master peer for remote certificate sign.
  123. .. code-block:: yaml
  124. salt:
  125. master:
  126. peer:
  127. ".*":
  128. - x509.sign_remote_certificate
  129. Salt proxy
  130. ----------
  131. Salt proxy pillar
  132. .. code-block:: yaml
  133. salt:
  134. minion:
  135. proxy:
  136. master: localhost
  137. device:
  138. vsrx01.mydomain.local:
  139. enabled: true
  140. engine: napalm
  141. csr1000v.mydomain.local:
  142. enabled: true
  143. engine: napalm
  144. .. note:: This is pillar of the the real salt-minion
  145. Proxy pillar for IOS device
  146. .. code-block:: yaml
  147. proxy:
  148. proxytype: napalm
  149. driver: ios
  150. host: csr1000v.mydomain.local
  151. username: root
  152. passwd: r00tme
  153. .. note:: This is pillar of the node thats not able to run salt-minion itself
  154. Proxy pillar for JunOS device
  155. .. code-block:: yaml
  156. proxy:
  157. proxytype: napalm
  158. driver: junos
  159. host: vsrx01.mydomain.local
  160. username: root
  161. passwd: r00tme
  162. optional_args:
  163. config_format: set
  164. .. note:: This is pillar of the node thats not able to run salt-minion itself
  165. Salt SSH
  166. --------
  167. Salt SSH with sudoer using key
  168. .. literalinclude:: tests/pillar/master_ssh_minion_key.sls
  169. :language: yaml
  170. Salt SSH with sudoer using password
  171. .. literalinclude:: tests/pillar/master_ssh_minion_password.sls
  172. :language: yaml
  173. Salt SSH with root using password
  174. .. literalinclude:: tests/pillar/master_ssh_minion_root.sls
  175. :language: yaml
  176. Salt minion
  177. -----------
  178. Simplest Salt minion setup with central configuration node
  179. .. code-block:: yaml
  180. .. literalinclude:: tests/pillar/minion_master.sls
  181. :language: yaml
  182. Multi-master Salt minion setup
  183. .. literalinclude:: tests/pillar/minion_multi_master.sls
  184. :language: yaml
  185. Salt minion with salt mine options
  186. .. literalinclude:: tests/pillar/minion_mine.sls
  187. :language: yaml
  188. Salt minion with graphing dependencies
  189. .. literalinclude:: tests/pillar/minion_graph.sls
  190. :language: yaml
  191. Salt minion behind http proxy
  192. .. code-block:: yaml
  193. salt:
  194. minion:
  195. proxy:
  196. host: 127.0.0.1
  197. port: 3128
  198. PKI CA
  199. ~~~~~~
  200. Salt minion with PKI CA
  201. .. literalinclude:: tests/pillar/minion_pki_ca.sls
  202. :language: yaml
  203. Salt minion with PKI certificate
  204. .. literalinclude:: tests/pillar/minion_pki_cert.sls
  205. :language: yaml
  206. Salt control (cloud/kvm/docker)
  207. -------------------------------
  208. Salt cloud with local OpenStack provider
  209. .. literalinclude:: tests/pillar/control_cloud_openstack.sls
  210. :language: yaml
  211. Salt cloud with Digital Ocean provider
  212. .. literalinclude:: tests/pillar/control_cloud_digitalocean.sls
  213. :language: yaml
  214. Salt virt with KVM cluster
  215. .. literalinclude:: tests/pillar/control_virt.sls
  216. :language: yaml
  217. Usage
  218. =====
  219. Working with salt-cloud
  220. .. code-block:: bash
  221. salt-cloud -m /path/to/map --assume-yes
  222. Debug LIBCLOUD for salt-cloud connection
  223. .. code-block:: bash
  224. export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all
  225. Read more
  226. =========
  227. * http://salt.readthedocs.org/en/latest/
  228. * https://github.com/DanielBryan/salt-state-graph
  229. * http://karlgrz.com/testing-salt-states-rapidly-with-docker/
  230. * https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
  231. * http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
  232. * https://github.com/saltstack-formulas/salt-formula
  233. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  234. salt-cloud
  235. ----------
  236. * http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
  237. * http://cloudinit.readthedocs.org/en/latest/topics/examples.html
  238. * http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
  239. * http://docs.saltstack.com/topics/cloud/digitalocean.html
  240. * http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
  241. * http://salt-cloud.readthedocs.org/en/latest/topics/map.html
  242. * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
  243. Documentation and Bugs
  244. ======================
  245. To learn how to install and update salt-formulas, consult the documentation
  246. available online at:
  247. http://salt-formulas.readthedocs.io/
  248. In the unfortunate event that bugs are discovered, they should be reported to
  249. the appropriate issue tracker. Use Github issue tracker for specific salt
  250. formula:
  251. https://github.com/salt-formulas/salt-formula-salt/issues
  252. For feature requests, bug reports or blueprints affecting entire ecosystem,
  253. use Launchpad salt-formulas project:
  254. https://launchpad.net/salt-formulas
  255. You can also join salt-formulas-users team and subscribe to mailing list:
  256. https://launchpad.net/~salt-formulas-users
  257. Developers wishing to work on the salt-formulas projects should always base
  258. their work on master branch and submit pull request against specific formula.
  259. https://github.com/salt-formulas/salt-formula-salt
  260. Any questions or feedback is always welcome so feel free to join our IRC
  261. channel:
  262. #salt-formulas @ irc.freenode.net