Book Image

Learning SaltStack - Second Edition

By : Colton Myers
Book Image

Learning SaltStack - Second Edition

By: Colton Myers

Overview of this book

SaltStack is one of the best infrastructure management platforms available. It provides powerful tools for defining and enforcing the state of your infrastructure in a clear, concise way. With this book learn how to use these tools for your own infrastructure by understanding the core pieces of Salt. In this book we will take you from the initial installation of Salt, through running their first commands, and then talk about extending Salt for individual use cases. From there you will explore the state system inside of Salt, learning to define the desired state of our infrastructure in such a way that Salt can enforce that state with a single command. Finally, you will learn about some of the additional tools that salt provides, including salt-cloud, the reactor, and the event system. We?ll finish by exploring how to get involved with salt and what'?s new in the salt community. Finally, by the end of the book, you'll be able to build a reliable, scalable, secure, high-performance infrastructure and fully utilize the power of cloud computing.
Table of Contents (17 chapters)
Learning SaltStack Second Edition
About the Author
About the Reviewer

The structure of a remote execution command

If you remember, our basic remote execution command looks like this:

# sudo salt '*'

The basic Salt remote execution command is made up of five distinct pieces. We can easily see them if we look at the usage text for the salt command, which is as follows:

# sudo salt --help
Usage: salt [options] '<target>' <function> [arguments]

Let's inspect a command that uses all of these pieces:

# sudo salt --verbose '*' test.sleep 2
Executing job with jid 20160218032023792688


Here are the pieces of a Salt command, including the relevant pieces of the last command that we ran:

  • The Salt command: salt

  • Command-line options: --verbose

  • Targeting string: '*'

  • The Salt module function: test.sleep

  • Arguments to the remote execution function: 2

Let's briefly explore the purpose that each of these pieces serves.

Command-line options

If you've spent any real amount of time...