Overview
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.
What You'll Learn
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
Curriculum
- Welcome
- Objectives
- Getting Started
- Topics Covered
- Summary
- 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
- 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
- Objectives
- What is a Proxy Minion?
- Salt Proxy Minion Topology
- Using Proxy Minions
- Lab – Provision Proxy Minion
- 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
- Objectives
- Uses of the Salt
- State System SLS Files
- Salt State Processing
- State Rendering
- State Compile
- State Runtime
- Lab – Analyzing State Execution
- 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
- 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
- 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
- Lab – Windows Orchestration
- Objectives
- Reactor System
- Beacons
- Reactor Best Practices
- Lab – Windows Beacons
- Lab – Windows Reactors
- Lab – Webstack: Configure the Load Beacon
- Lab – Webstack: Creating the Web Server Reactors
- Lab – Webstack: Triggering the Scale Up
- Objectives
- Introduction
- Viewing Salt Activity
- Network Settings
- Salt Keys
- Salt States
- Overview Loading Lab Troubleshooting Scenarios
- Lab – Troubleshooting Scenario 1
- Lab – Troubleshooting Scenario 2
- Lab – Troubleshooting Scenario 3
- Lab – Troubleshooting Scenario 4
- Lab – Troubleshooting Scenario 5
- Lab – Troubleshooting Scenario 6
- Lab – Troubleshooting Scenario 7
- Lab – Troubleshooting Scenario 8
- Lab – Troubleshooting Scenario 9
- Lab – Troubleshooting Scenario 10
- Lab – Troubleshooting Scenario 11
- Lab – Troubleshooting Scenario 12
- Objectives
- More About Keys
- The “pki_dir”
- Increasing Security
- Decreasing Security
- Client ACLs
- External Authentication System
- Hardening Salt
- Security Issues
- Lab – Understanding Salt Keys
- Lab – Configuring Client ACLs
- Lab – External Authentication
- Objectives
- Multi-Master
- Sharing Files Between Masters
Prerequisites
Sound knowledge of ZeroMQ and Python programming language is necessary