Learning Salt

Build reliable, scalable, and secure infrastructures with Salt

Last updated 2022-01-10 | 4.5

- How to Install and configure Salt.
- How Salt communicates between machines.
- The difference and distinction between the various Salt module types.

What you'll learn

How to Install and configure Salt.
How Salt communicates between machines.
The difference and distinction between the various Salt module types.
How and why to use execution modules.
Understand Salt’s state system.
Write and manage complex states.
Run complex state trees that span multiple systems.
Use and react to real-time events across an infrastructure.
Integrate Salt with other tools
both internal and external.

* Requirements

* Some exposure to IT automation and configuration management tasks would be useful but not necessary.

Description

SaltStack automates the management and configuration of any infrastructure or application at scale. It provides an arsenal of tools to execute commands across thousands of systems with ease.

Learning Saltstack will start from scratch and build towards a high-level goal of installing, configuring, deploying, and managing a web application to Docker containers across multiple systems behind a HAProxy load balancer. The course will start by explaining how Salt approaches System management and help the viewer get up and running with a working Salt infrastructure. You will learn how to use Salt to target, query, and change systems.

You will learn to define the desired state of your infrastrucrture and how you can use Salt to enforce the state with a single command. The course will dive deeper into YAML and Jinja and show you the best practices for writing reusable and maintainable states. Finally, you will learn about some of the additional tools that salt provides, including salt-cloud, the reactor, and the event system.

By the end of the course, you would be able to build and manage your infrastructure and fully utilize its potential.

About the Author

Seth House has been involved in the Salt community for five years and has worked at SaltStack for four years. He wrote the salt-api and also contributed to many core parts of Salt. He has collaborated with the Salt community and started the Salt Formulas organization. Seth has given over thirty Introductions, Presentations, Training at user groups and conferences and Created tutorials on Salt well for Companies. He has designed and helped fine-tune Salt deployments at companies all across the United States.

Who this course is for:

  • This course targets IT professionals, system admins, and DevOps teams looking to effectively deploy and manage their infrastructure with Salt.

Course content

7 sections • 39 lectures

The Course Overview Preview 02:01

This video provides an overview of the entire course.

The Philosophy of Salt Preview 02:59

The aim of this video is to learn how Salt approaches system management and why it uses the technology that it does.

How Salt Communicates? Preview 07:14

The aim of this video is to learn about how Salt utilizes a technology stack to meet design goals and what that stack is.

Installing Salt Preview 05:18

The aim of this video is to learn to install Salt from the official SaltStack repository.

Configuring Salt Preview 09:54

The aim of this video is to learn to install Salt from the official SaltStack repository.

Key Acceptance and Encryption Preview 09:10

The aim of this video is to learn how Salt's encryption layer works.

Targeting Minions Preview 10:20

We will explore how to granularly target subsets of an infrastructure.

Execution Module Basics Preview 14:05

We will talk about execution modules which is a large library of common tasks to query or change a system.

Common Execution Modules Preview 16:26

We will talk about execution modules.

Call from Master or Minions Preview 10:17

We will take a look at Master- or Minion-centric invocation.

The Philosophy of Salt's State System Preview 06:05

We will explore the intricacies of Salt's State system.

Our First State Preview 14:21

We will write our first Salt State.

Dissect State Functions Preview 11:35

We will dissect each part of a Salt State.

Execution Flow of a State Run Preview 07:12

We will trace the flow of a State run from the master, to a minion, and then back to the master.

Debugging States Preview 05:16

We will take a look at debugging tips for developing a State tree.

Introduction to YAML, Jinja, and Other Renderers Preview 05:26

The aim of this video is to explore Salt states as data structure generators.

How to Write Reusable States? Preview 12:35

The aim of this video is to take a look at what exactly are re-usable states.

How to Write Maintainable States? Preview 17:38

The aim of this video is to discuss the best practices for writing states in a clean and maintainable way.

YAML and Jinja Best Practices and Gotchas Preview 05:36

The aim of this video is to know about the pitfalls of Jinja and YAML as well as a couple of tips.

Configuring States Using Pillar Preview 20:11

The aim of this video is to use Jinja and YAML to create minion specific data.

Learning Salt Formulas Preview 09:10

The aim of this video is to know more about Salt formulas and how to use them. 

Debugging Jinja Preview 05:35

The aim of this video is to learn some tips on how to debug Jinja.

Glue SLS Files Together Preview 09:48

With this video, explore complex multi-file state trees.

Defining, Enforcing, and Debugging Execution Orders Preview 16:14

The aim of this video is to discuss ordering strategies to get the state tree to execute in the desired order.

Conditional and Branching Logic During a State Run Preview 13:17

The aim of this video is to learn about the requisites that can change the order of a state run dynamically.

Debugging a State Run Preview 09:54

The aim of this video is to lean about debugging strategies for large state trees.

Sharing Data between Systems with Salt Mine Preview 06:43

The aim of this video is to explore how to share data between minions.

Using Salt Orchestrate to Manage Complex State Runs Preview 09:00

With this video, get acquainted on how to execute state runs on a master. 

An Overview of Salt's Event Bus Preview 05:19

The aim of this video is to get to know about salt's event basics.

Sending Custom Events Preview 06:22

The aim of this video is to know about the custom events.

Listening to Events and Trigger Actions with Salt's Reactor Preview 12:04

The aim of this video is to react to events and trigger actions.

Integrating Salt with External Tools Using Events Preview 05:33

The aim of this video is to know about Signal salt from third- party tools using Salt events.

Sending Events Using Beacon Modules Preview 09:45

The aim of this video is to use Beacon modules to automatically create Salt events in response to system events. 

How to Debug the Reactor and Best Practices? Preview 04:53

The aim of this video is to Debug the Salt Reactor.

Installing and Configuring Salt-API Preview 13:34

The aim of this video is to learn how to install and configure Salt's REST API.

Exploring rest_cherrypy Preview 14:47

The aim of this video is to explore rest_cherrypy endpoints and features.

More rest_cherrypy Features Preview 15:05

The aim of this video is to Access salt's event bus and shortcuts for common tasks.

Using Salt-API to Integrate with External Systems Preview 10:22

The aim of this video is to integrate Salt with external services and systems by exposing webhooks.

Wrapping Up and Further Scope Preview 03:04

The aim of this video is to wrap up the video series and get familiar on the general resources for further study.