Introduction To SaltStack
About Me
- Linux/Web engineer
- Evolved as a DevOps
- Author of “SaltStack For
DevOps”
- Founder of DevOpsLinks
- My blog : eon01.com/blog
- Follow me : @eon01
Configuration Management & Data Center
Automation
● Mechanisms to manage the technical description of a system
● Source code deployments on multiple environments requires a configuration management and
provisioning tool.
● With the adoption of agile development methods, the process of development, test and
deployment of a software component has accelerated and therefore the methods of
management have become faster, more automated and more adapted to changes
● Automation is important to the success of critical IT processes that are part of the life cycle of a
product, including provision, change management, release management, patch management,
compliance and security.
DevOps
SaltStack
● SaltStack fundamentally improves the way system administrators, integrators and DevOps use
to configure and manage all aspects of a modern data center infrastructure.
● It is built on a platform running relatively fast while allowing remote control of distributed
infrastructures, code and data.
● The infrastructure to manage can be virtual machines, cloud (Amazon EC2 instances,
Rackspace ..etc) or physical machines as well hosted applications and platforms that rely on
configuration files.
● You can use Salt installed on an operating system to manage other systems (A Linux to manage
a Solaris or a BSD to manage a Windows ... etc.).
A Brief Summary
• One or more “salt-master”, “salt-minion” and “salt-syndic”
• A key management system “salt-key” that allows the authentication of a “salt-minion” on a
“salt-master”
• A system of “states” to describe the configurations
• A “top.sls” that calls the “states”
• A system of “grain” on the minion to manage the configurations data
• A system of “pillars” to store other data on the master (such as confidential data)
• A transport and data management system called “ZeroMQ”
• An event management system called “reactors” “returners”, “outputters” ..etc
Installation
● If your server has Internet access, this shell script will be convenient to automate the installation
of the stable version:
wget -O - http://bootstrap.saltstack.org | sudo sh
● You can also install the latest version on git (development version):
curl -L https://bootstrap.saltstack.com -o install_salt.sh
sudo sh install_salt.sh git develop
● Salt is made of master and slave typically masters and minions.
● In the jargon used by the editor, a master is “salt-master” and a minion is a “salt-minion”. A
syndic called “salt-syndic” is part of the package and its role consists of connecting masters.
Troubleshooting
Before launching the master and the minion(s), a list of prerequisites should be checked:
• All of your salt-master and salt-minon are installed with the with satisfied dependencies
• Python version is compatible with the version of Saltstack salt-master and salt-minion should
be running with the root user
• Communication and execution ports are well configured and opened
• The configuration of any firewall between a master and a minion should be taken into account
(Example : check your iptables).
● Troubleshooting salt-master
● Troubleshooting salt-minion
● Troubleshooting ports
● Troubleshooting using salt-call
Basic Concepts
Before using Salt some basic concepts need to be known and understood:
● Python & YAML & Jinja
● salt-master & salt-minion & salt-syndic & salt-key
● Grains & Targeting grains
● Saltutil
● Outputters
● States & Top file
● Pillars
● Remote execution
● Reactors
Basic topology
Using salt-syndic
Authentification
Communication
- Enabling commands to remote
systems to be called in parallel rather than
serially
- Communications are encrypted
- ZeroMQ is fast and secure
- Configuration files allows supporting large and custom infrastructures
- Salt uses a small and fast network payload
Thanks
You can buy “SaltStack for DevOps” on :
https://leanpub.com/saltstackfordevops
Get your free sample here :
http://bitly.com/1AKdhRG
Aymen El Amri
www.eon01.com
@eon01

Introduction to SaltStack

  • 1.
  • 2.
    About Me - Linux/Webengineer - Evolved as a DevOps - Author of “SaltStack For DevOps” - Founder of DevOpsLinks - My blog : eon01.com/blog - Follow me : @eon01
  • 3.
    Configuration Management &Data Center Automation ● Mechanisms to manage the technical description of a system ● Source code deployments on multiple environments requires a configuration management and provisioning tool. ● With the adoption of agile development methods, the process of development, test and deployment of a software component has accelerated and therefore the methods of management have become faster, more automated and more adapted to changes ● Automation is important to the success of critical IT processes that are part of the life cycle of a product, including provision, change management, release management, patch management, compliance and security. DevOps
  • 4.
    SaltStack ● SaltStack fundamentallyimproves the way system administrators, integrators and DevOps use to configure and manage all aspects of a modern data center infrastructure. ● It is built on a platform running relatively fast while allowing remote control of distributed infrastructures, code and data. ● The infrastructure to manage can be virtual machines, cloud (Amazon EC2 instances, Rackspace ..etc) or physical machines as well hosted applications and platforms that rely on configuration files. ● You can use Salt installed on an operating system to manage other systems (A Linux to manage a Solaris or a BSD to manage a Windows ... etc.).
  • 5.
    A Brief Summary •One or more “salt-master”, “salt-minion” and “salt-syndic” • A key management system “salt-key” that allows the authentication of a “salt-minion” on a “salt-master” • A system of “states” to describe the configurations • A “top.sls” that calls the “states” • A system of “grain” on the minion to manage the configurations data • A system of “pillars” to store other data on the master (such as confidential data) • A transport and data management system called “ZeroMQ” • An event management system called “reactors” “returners”, “outputters” ..etc
  • 6.
    Installation ● If yourserver has Internet access, this shell script will be convenient to automate the installation of the stable version: wget -O - http://bootstrap.saltstack.org | sudo sh ● You can also install the latest version on git (development version): curl -L https://bootstrap.saltstack.com -o install_salt.sh sudo sh install_salt.sh git develop ● Salt is made of master and slave typically masters and minions. ● In the jargon used by the editor, a master is “salt-master” and a minion is a “salt-minion”. A syndic called “salt-syndic” is part of the package and its role consists of connecting masters.
  • 7.
    Troubleshooting Before launching themaster and the minion(s), a list of prerequisites should be checked: • All of your salt-master and salt-minon are installed with the with satisfied dependencies • Python version is compatible with the version of Saltstack salt-master and salt-minion should be running with the root user • Communication and execution ports are well configured and opened • The configuration of any firewall between a master and a minion should be taken into account (Example : check your iptables). ● Troubleshooting salt-master ● Troubleshooting salt-minion ● Troubleshooting ports ● Troubleshooting using salt-call
  • 8.
    Basic Concepts Before usingSalt some basic concepts need to be known and understood: ● Python & YAML & Jinja ● salt-master & salt-minion & salt-syndic & salt-key ● Grains & Targeting grains ● Saltutil ● Outputters ● States & Top file ● Pillars ● Remote execution ● Reactors
  • 9.
  • 10.
  • 11.
  • 12.
    Communication - Enabling commandsto remote systems to be called in parallel rather than serially - Communications are encrypted - ZeroMQ is fast and secure - Configuration files allows supporting large and custom infrastructures - Salt uses a small and fast network payload
  • 13.
    Thanks You can buy“SaltStack for DevOps” on : https://leanpub.com/saltstackfordevops Get your free sample here : http://bitly.com/1AKdhRG Aymen El Amri www.eon01.com @eon01