2. My Intro
● SysOps guy since 2002, started in a typical startup, a web-hosting company and daily firefight
● Landed up in JP Morgan, Sabre Inc etc.
● Started JBUG –Bangalore (Jboss User Group) in 2010
● Why CM? Don’t want to be harassed admin
3. What does Salt stack do?
Simple things
1) Configuration Mgmt
● user
● package
● file
● service etc
2) Remote execution
When you install Saltstack you get both
4. About the project
● Open Source
● Written in Python
● Uses YAML for cm syntax, called salt states
● Very fast communication system so rapidly scales
● Most Important
○ Viable things are fundamentally SIMPLE
○ Salt is simple
5. Some vocabulary
● The master is the Salt server
● The minions are the target machines that will be provisioned
● Each minion has an unique ID
● Asynchronous communication
● SALT’s configuration files are called states, easy to read and understand
● Multiple states can be applied to each minion
● Modules are collection of function that could be run from Salt CLI
● Information collected by minion about the system is Grain
6. ● Grain- Information collected by minion about the system
● You could write custom grain
Shows which grains
are defined on a host
9. Packages
● Alternatively installation could be done using RPM or Apt
● Three Packages
○ Salt - (In all nodes)
○ Salt-minion - (In all nodes)
○ Salt-master- (Only in master server)
12. How it works?
● When master process started it creates a socket
● When minion process starts it connects to that master socket and looks for
event
● Master publishes event and minion subscribes to listen to that, hence Pub-
Sub
● This communication is done by a high speed channel
● ZeroMQ
● This communication channel is secure
● Minion and master exchange keys using AES encryption
13. Remote Execution
● usr/bin/salt- salt <minion-id> <module>
● Salt comes with a rich set of modules
● You could write your own in python
● Module has access to salt data structure
● salt * sys.doc test.ping (Help Files)
17. Salt Cloud
● Started as a separate project to use salt to manage cloud VMs
● Starting with the 2014.1.0 release of Salt, Salt Cloud is built into Salt
● Uses python-libcloud
●
AWS
XYZ
Provider Profiles