Download - Getting started with salt stack
![Page 1: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/1.jpg)
PR OBLEM | O P P O RTUNITY | CO M PANY | PR O JECT | COMPETITION | TEAM | RECOGNITION | CUSTOMERS 1
Getting Started with SaltStack
© 2015 SALTSTACK
John Tsai | Area Director | @johnstsaiCharles C. Ruffino | Sales Engineer | @CharlesCRuffino
![Page 2: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/2.jpg)
PR OBLEM | O P P O RTUNITY | CO M PANY | PR O JECT | COMPETITION | TEAM | RECOGNITION | CUSTOMERS 2CONFIDENTIALITY STATEMENT
The information in this document is confidential to the person to whom it is addressed and should not be disclosed to any other person. It may not be reproduced in whole, or in part, nor may any of the information contained therein be disclosed without the prior consent of the directors of SaltStack, Inc. (‘the Company’). A recipient may not solicit, directly or indirectly (whether through an agent or otherwise) the participation of another institution or person without the prior approval of the directors of the Company.
The contents of this document have not been independently verified and they do not purport to be comprehensive, or to contain all the information that a prospective investor may need. No representation, warranty or undertaking, expressed or implied is or will be made or given and no responsibility or liability is or will be accepted by the Company or by any of its directors, employees or advisors in relation to the accuracy or completeness of this document or any other written or oral information made available in connection with the Company.
Any form of reproduction, dissemination, copying, disclosure, modification, distribution and or publication of this material is strictly prohibited.
© 2015 SALTSTACK
![Page 3: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/3.jpg)
3
Agenda
Introductions
Why do I need it
Remote Execution 101
SaltStack Basics
Where did SaltStack come from
Let there be work, bread, water and salt for all -Nelson Mandela
![Page 4: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/4.jpg)
4
![Page 5: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/5.jpg)
5
IntroductionsSalt is what makes things taste bad when it isn’t in them
Who are we
Background
Why SaltStack
![Page 6: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/6.jpg)
6
![Page 7: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/7.jpg)
Where Did SaltStack Come From
© 2015 SALTSTACK
![Page 8: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/8.jpg)
8
Why do I need it?Mmm Tasty!
SaltStack is systems management software built for cloud, Web scale, complex data center infrastructure and enterprise IT.
SaltStack software provides predictive infrastructure orchestration, combined with native configuration management, to address a massive market opportunity.
![Page 9: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/9.jpg)
9
Why do I need it?
•Extremely flexible•Extremely extensible•Highly modular•Easy to customize•Scalable•Secure•Remote Execution Framework
SaltStack… because robots should have all the crap jobs by now!
![Page 10: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/10.jpg)
Remote Execution 101Make it go!
Basic Remote Execution:
$ ssh charles@myhost “ls /home/charles” some_file.txt
Multiple hosts:
$ for h in myhost1 myhost2 myhost3;> do ssh charles@myhost “ls /home/charles”;> done
![Page 11: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/11.jpg)
Remote Execution 101Make it do!
What about hundreds of hosts?
And I need to do this many times?
With different login credentials on some?
What if I need to do something with the output?
![Page 12: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/12.jpg)
Remote Execution 101and going…
How about a script?
#!/bin/bash# Make sure your SSH config (~/.ssh/config) is setup!
command=$1host_list=$2for h in host_list; do ssh “$h” “$command”done
# FIXME: Add output handling# FIXME: Add error handling# FIXME: Add logging# TODO: FIND A BETTER WAY TO DO THIS!!!
![Page 13: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/13.jpg)
Remote Execution 101and doing…
We need a script that can handle:
Executing arbitrary commands… on one or more remote hosts… with a sane way to get the output (STDOUT? Write a file? Text Output? JSON? YAML???)… and graceful error handling… and logging… and authentication… everything else I haven’t thought of yet!
![Page 14: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/14.jpg)
Remote Execution 101The Realization Sets In…
We only want to run a command if the host is in a particular state…
The command is different for some hosts because they have a different OS
We need to configure host X before we configure host Y
We want to generate a file from a template, using data from an external database
We need to keep that external data secret
![Page 15: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/15.jpg)
Say What?
You want me to maintain a 5,000 line BASH script?
![Page 16: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/16.jpg)
Syndic
Public Cloud
DevOps
Code
Apps
CloudOps
ITOps
3rd PartyIntegrations
CMDB
Reactor
Config &State
Command& Control
Multi-master
Abstraction layer
Master
AES
SSL
Curve
ØMQSSH
RAET
Physical
Containers
OS
Virtual
Grains
Beacons
Pillars
Minions
File server
SaltStack Basics
![Page 17: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/17.jpg)
SaltStack BasicsProvisioning
![Page 18: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/18.jpg)
SaltStack BasicsInfrastructure Automation
![Page 19: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/19.jpg)
SaltStack BasicsBusiness/Cloud/Code/Dev/Infrastructure Orchestration
![Page 20: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/20.jpg)
SaltStack BasicsITSM Empowered!
![Page 21: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/21.jpg)
SaltStack BasicsSaltStack automation for: CloudOps, ITOps, DevOps
![Page 22: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/22.jpg)
SaltStack BasicsSaltStack automation for: CloudOps, ITOps, DevOps
Extreme flexibility:• Master and minion architecture, or masterless;• Agent (minion) or agentless (Salt SSH);• Permanent, encrypted and authenticated connection (ZeroMQ / AES);• Open API for third-party cloud and software integration;• Asynchronous data collection and command execution;• Push or pull;• Lightweight and efficient;
![Page 23: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/23.jpg)
SaltStack BasicsSaltStack automation for: CloudOps, ITOps, DevOps
Master (controls minions):• Pub / sub and reply channel;• Two open ports on master;• Multi-master for SaltStack high availability.
Minions (do all the work, self aware):• Listen and receive commands from a remote Salt master;• No open ports;• Not chatty;• Command feedback;• Peer system - live data sharing between minions;• Salt mine - only the most recent minion data, cached data is visible to other minions;• Returners - historical minion data;• Syndic (a special minion that passes commands from a higher master);
![Page 24: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/24.jpg)
More InformationSaltStack Meetup: Los Angeles Thursday May 7, 6:00pm
http://www.meetup.com/SaltStack-Los-Angeles-Meetup/
![Page 26: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/26.jpg)
More Information
http://saltstack.com/training/https://www.youtube.com/user/SaltStackhttp://salt.readthedocs.org/en/latest/http://salt.readthedocs.org/en/latest/ref/modules/all/index.htmlhttp://salt.readthedocs.org/en/latest/ref/states/all/index.htmlhttps://github.com/saltstack
Link all the Things
![Page 27: Getting started with salt stack](https://reader030.vdocuments.us/reader030/viewer/2022032617/55ab117f1a28ab39698b46c6/html5/thumbnails/27.jpg)
801.207.7440
www.saltstack.com
3400 N. Ashton Blvd. Suite 110 Lehi, UT 84043
@SaltStackInc
Thank You!