|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
-
- ====
- Salt
- ====
-
- 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.
-
- Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.
-
- Sample pillars
- ==============
-
- Salt master
- -----------
-
- Salt master with base environment and pillar metadata source
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- command_timeout: 5
- worker_threads: 2
- pillar:
- engine: salt
- source:
- engine: git
- address: 'git@repo.domain.com:salt/pillar-demo.git'
- branch: 'master'
- base_environment: prd
- environment:
- prd:
- enabled: true
- formula:
- linux:
- source: git
- address: 'git@repo.domain.com:salt/formula-linux.git'
- branch: 'master'
- salt:
- source: git
- address: 'git@repo.domain.com:salt/formula-salt.git'
- branch: 'master'
- openssh:
- source: git
- address: 'git@repo.domain.com:salt/formula-openssh.git'
- branch: 'master'
-
- Simple Salt master with base environment and custom states
-
- .. code-block:: yaml
-
- salt:
- master:
- ...
- environment:
- base:
- states:
- - name: gitlab
- source: git
- address: 'git@repo.domain.cz:salt/state-gitlab.git'
- branch: 'master'
- formulas:
- ...
-
- Salt master with reclass ENC
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- ...
- pillar:
- engine: reclass
- data_dir: /srv/salt/reclass
-
- Salt master with windows repository
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- ...
- windows_repo:
- type: git
- address: 'git@repo.domain.com:salt/win-packages.git'
-
- Salt master with API
-
- .. code-block:: yaml
-
- salt:
- master:
- ...
- api:
- enabled: true
- port: 8000
-
- Salt master with preset minions
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- ...
- minions:
- - name: 'node1.system.location.domain.com'
-
- Salt master syndicate master of masters
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- ...
- syndic:
- mode: master
-
- Salt master syndicate (client) master
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- ...
- syndicate:
- mode: client
- host: master-master
-
- Salt master with custom handlers
-
- .. code-block:: yaml
-
- salt:
- master:
- enabled: true
- command_timeout: 5
- worker_threads: 2
- environments:
- - name: base
- states:
- - source: git
- address: 'git@repo.domain.com:salt/state-ubuntu.git'
- branch: 'master'
- pillar:
- source: git
- address: 'git@repo.domain.com:salt/pillar-demo.git'
- branch: 'master'
- handlers:
- name: logstash
- type: udp
- bind:
- host: 127.0.0.1
- port: 9999
- minion:
- handlers:
- - engine: udp
- bind:
- host: 127.0.0.1
- port: 9999
- - engine: zmq
- bind:
- host: 127.0.0.1
- port: 9999
-
- Salt minion
- -----------
-
- Simplest Salt minion
-
- .. code-block:: yaml
-
- salt:
- minion:
- enabled: true
- master:
- host: master.domain.com
-
- Multi-master Salt minion
-
- .. code-block:: yaml
-
- salt:
- minion:
- enabled: true
- masters:
- - host: master1.domain.com
- - host: master2.domain.com
-
- Salt minion with salt mine options
-
- salt:
- minion:
- enabled: true
- master:
- host: master.domain.com
- mine:
- interval: 60
- module:
- grains.items: []
- network.interfaces: []
-
- Salt minion with graphing dependencies
-
- .. code-block:: yaml
-
- salt:
- minion:
- enabled: true
- graph_states: true
- master:
- host: master.domain.com
-
- Salt control (cloud/virt)
- -------------------------
-
- Salt cloud with local OpenStack insecure (ignoring SSL cert errors) provider
-
- .. code-block:: yaml
-
- salt:
- control:
- enabled: true
- provider:
- openstack_account:
- engine: openstack
- insecure: true
- region: RegionOne
- identity_url: 'https://10.0.0.2:35357'
- tenant: devops
- user: user
- password: 'password'
- fixed_networks:
- - 123d3332-18be-4d1d-8d4d-5f5a54456554e
- floating_networks:
- - public
- ignore_cidr: 192.168.0.0/16
-
- Salt cloud with Digital Ocean provider
-
- .. code-block:: yaml
-
- salt:
- control:
- enabled: true
- provider:
- dony1:
- engine: digital_ocean
- region: New York 1
- client_key: xxxxxxx
- api_key: xxxxxxx
-
- Salt cloud with cluster definition
-
- .. code-block:: yaml
-
- salt:
- control:
- enabled: true
- cluster:
- devops_ase:
- config:
- engine: salt
- host: 147.32.120.1
- node:
- proxy1.ase.cepsos.cz:
- provider: cepsos_devops
- image: Ubuntu12.04 x86_64
- size: m1.medium
- node1.ase.cepsos.cz:
- provider: cepsos_devops
- image: Ubuntu12.04 x86_64
- size: m1.medium
- node2.ase.cepsos.cz:
- provider: cepsos_devops
- image: Ubuntu12.04 x86_64
- size: m1.medium
- node3.ase.cepsos.cz:
- provider: cepsos_devops
- image: Ubuntu12.04 x86_64
- size: m1.medium
-
- Usage
- =====
-
- Working with salt-cloud
-
- .. code-block:: bash
-
- salt-cloud -m /path/to/map --assume-yes
-
- Debug LIBCLOUD for salt-cloud connection
-
- .. code-block:: bash
-
- export LIBCLOUD_DEBUG=/dev/stderr; salt-cloud --list-sizes provider_name --log-level all
-
- Read more
- =========
-
- * http://salt.readthedocs.org/en/latest/
- * https://github.com/DanielBryan/salt-state-graph
- * http://karlgrz.com/testing-salt-states-rapidly-with-docker/
- * https://mywushublog.com/2013/03/configuration-management-with-salt-stack/
- * http://russell.ballestrini.net/replace-the-nagios-scheduler-and-nrpe-with-salt-stack/
- * https://github.com/saltstack-formulas/salt-formula
- * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
-
- salt-cloud
- ----------
-
- * http://www.blog.sandro-mathys.ch/2013/07/setting-user-password-when-launching.html
- * http://cloudinit.readthedocs.org/en/latest/topics/examples.html
- * http://salt-cloud.readthedocs.org/en/latest/topics/install/index.html
- * http://docs.saltstack.com/topics/cloud/digitalocean.html
- * http://salt-cloud.readthedocs.org/en/latest/topics/rackspace.html
- * http://salt-cloud.readthedocs.org/en/latest/topics/map.html
- * http://docs.saltstack.com/en/latest/topics/tutorials/multimaster.html
|