0% found this document useful (0 votes)
352 views

Introduction To SaltStack

This document provides an introduction to SaltStack, an open source tool for infrastructure automation and configuration management. It discusses how SaltStack allows system administrators and DevOps teams to remotely manage and configure all aspects of a modern data center infrastructure. The document covers SaltStack concepts like the master/minion architecture, states, pillars, grains, and how it uses ZeroMQ for fast, parallel communication in a secure manner. It also provides instructions on installing SaltStack and troubleshooting common issues.

Uploaded by

eon01
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
352 views

Introduction To SaltStack

This document provides an introduction to SaltStack, an open source tool for infrastructure automation and configuration management. It discusses how SaltStack allows system administrators and DevOps teams to remotely manage and configure all aspects of a modern data center infrastructure. The document covers SaltStack concepts like the master/minion architecture, states, pillars, grains, and how it uses ZeroMQ for fast, parallel communication in a secure manner. It also provides instructions on installing SaltStack and troubleshooting common issues.

Uploaded by

eon01
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

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

You might also like