13
Introduction To SaltStack

Introduction to salt stack

Embed Size (px)

Citation preview

Page 1: Introduction to salt stack

Introduction To SaltStack

Page 2: Introduction to salt stack

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

Page 3: Introduction to salt stack

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

Page 4: Introduction to salt stack

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.).

Page 5: Introduction to salt stack

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

Page 6: Introduction to salt stack

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.shsudo 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.

Page 7: Introduction to salt stack

TroubleshootingBefore 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 shouldbe 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

Page 8: Introduction to salt stack

Basic ConceptsBefore 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

Page 9: Introduction to salt stack

Basic topology

Page 10: Introduction to salt stack

Using salt-syndic

Page 11: Introduction to salt stack

Authentification

Page 12: Introduction to salt stack

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

Page 13: Introduction to salt stack

ThanksYou 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