Duration: 3 days

Overview

This Saltstack and Salt Open training course presents the system management and configuration tool SaltStack Open, from methods, techniques, capabilities to implementation.  Each participant will see an in-depth coverage of the basic SaltStack master and agent (minions) architecture along with the impact on the Linux system. Much of the time and attention will be spent in learning, writing, and applying/executing state definitions, the key part of SaltStack that allows synchronization and configuration of environments easily and uniformly.

Objectives

  • Install and configure SaltStack master servers and agents
  • Use SaltStack from the command line
  • Create and modify states (files)
  • Use standard SaltStack state formulas
  • Design a 'best practice' strategy for using SaltStack capabilities

Prerequisites

It is assumed that participants are active systems developers and/or system administrators with some scripting knowledge (bash, ksh, Perl or Python) and an understanding of the various system tasks relating to setting up and supporting Linux (and other) systems.

Experience with any other interactive system(s), such as Windows, will also provide the necessary experience.

Audience

This course is directed towards working systems administrators, software developers, application testers, and quality assurance personnel.

Implementation

Each participant will have a dedicated RHEL 7 or 8 virtual server for SaltStack installation, states definition writing and application. A CentOS 7 or 8 and Windows 10 Enterprise virtual systems will be setup as SaltStack minions.

Outline for SaltStack and Salt Open Source Administration Training

  • Introduction
  • Configuration Management Overview
    • Configuration management issues
    • Configuration management tools
    • SaltStack distributions
    • SaltStack master
    • SaltStack master installation
    • SaltStack master minion installation - keys
    • Using the root account
    • SaltStack basic operations
    • SLS files - introduction and layout
  • SaltStack Master and Minion Nodes
    • SaltStack architecture review
    • SaltStack master node key directories and files
    • SaltStack master node supplied documentation
    • SaltStack node keys
    • SaltStack (Linux) minion node overview
    • SaltStack (Linux) minion node requirements
    • SaltStack (Linux) minion node setup
    • SaltStack master and minion nodes configuration file
    • SaltStack (Windows) minion node requirements
    • SaltStack (Windows) minion node setup
    • SaltStack (Windows) minion modules
    • SaltStack (Unix) minion node setup
    • using SaltStack with SSH
  • Grains and Variables
    • Grains (definitions)
    • Grains and variables in SLS files
    • Using grains to specify minion nodes
  • SaltStack (States) Executions
    • SaltStack execution modules (methods0
    • SaltStack state modules (methods)
    • SLS files - introduction and layout
    • SLS files - syntax checking and dry run
    • SaltStack execution logging
    • SLS files - in line file substitutions
    • Linux package repositories - server side
    • Linux package repositories - client side
    • SLS file capabilities - Jinja templating
    • Conditionals
    • Loops
    • Requisites
  • SaltStack Environments
    • SaltStack environments
    • SaltStack top file (and highstates)
    • SaltStack fileserver backends
  • Data Storage and Caching
    • Salt mine
    • Accessing SaltStack mine data
    • SaltStack pillars
    • Accessing pillars data from minions
    • Storing data securely
  • SaltStack Security Features
    • SaltStack node keys
    • Using the root account
    • SaltStack publisher ACLs
  • Conclusion