Automation of management and configuration of any web application at scale are achieved by SaltStack, which provides a multitude of tools to implement commands across multiple systems.
Upon completion of this course, a participant would be able to:
Learn to install and set up Salt
Learn how Salt communicates with machines
Understand various Salt modules and their respective differences
Comprehend the need for execution modules
Gain knowledge on Salt state of an infrastructure
Execute complex state trees
React to real-time events
Identify the Salt rest API features
Duration: 16 Hours
Sound knowledge of ZeroMQ and Python programming language is necessary
Introduction
Welcome
Objectives
Getting Started
Topics Covered
Summary
Salt Cloud
Objectives
What is Salt Cloud?
Salt Cloud Components
The salt-cloud Command
Configuring Salt Cloud
Querying Available Data
Defining Virtual Machine Profiles
Salt Cloud Options
Creating VMs with Profiles
The Salt Cloud Provisioning Process
Salt Cloud Command Output
Querying for VMs
Destroying Virtual Machines in the Cloud
Managing Multiple VMs Instances
Provider-Specific Commands
Salting Existing Systems
The Class Setup
Your Salt Lab Environment
Lab – Accessing the Lab Environment
Lab – Use the EC2 Salt Cloud Driver
Lab – Create and Destroy Cloud VMs
Lab – Create a Cloud Map
Lab – Add Existing Systems to the Salt Master
Windows Minions
Objectives Salt
Windows Minion Management
The Salt Windows Management Framework
Deploying Windows Minions
User and Group Management
Managing Windows Permissions
Software Management Managing
Windows Features and Roles
Lab – Provision Windows Minions
Lab – Software Management
Lab – Managing Windows Roles and Features
Lab – Windows Updates
Proxy Minions
Objectives
What is a Proxy Minion?
Salt Proxy Minion Topology
Using Proxy Minions
Lab – Provision Proxy Minion
Salt Execution and Architecture
Objectives
Salt Execution
Salt Components
Calling Modules Locally on a Minion
Sending Jobs to the Salt Master
The Event System
Salt Master Processes
The “salt” Execution Architecture
Lab – View Master Processes
Lab – Listening to Events
Lab – Analyze Salt Activity
The Salt State System
Objectives
Uses of the Salt
State System SLS Files
Salt State Processing
State Rendering
State Compile
State Runtime
Lab – Analyzing State Execution
Salt Renderers
Objectives
Salt State Rendering
Using the Python Renderer
Using the Jinja Renderer
Conditional “if” Statements
Jinja Variable Assignments
Leveraging Lookup Lists and Dictionaries
Jinja Filters
Calling Execution Modules with Jinja
Using the GPG Render
Lab – Create Users and Groups Management State
Building Salt Formulas
Objectives
Salt Formulas
Salt State Formulas Best Practices
Using Inline Pillar Data
Use Lookup Dictionaries Based on Grains
The Online Salt Formula Repository
A Complete State Example
Lab – Create States with Salt Formulas
Lab – Webstack: Web Server State
Lab – Webstack: Configuring an HAProxy Load Balancer
Lab – Webstack: Configuring the “top.sls” File
Salt Orchestration Formulas
Objectives
Running Jobs on the
Salt Master Salt Orchestration
Orchestration Declarations
Using Inline Pillar with Orchestration
Using State Modules in Orchestration
The Salt Mine
Lab – Webstack: Create the Pillar Data for the Web Servers
Lab – Webstack: Configuring Web Server Mine Functions
Lab – Webstack: Creating the Web Servers Orchestration State