Skip to content
This repository was archived by the owner on Oct 12, 2020. It is now read-only.

02. About SaltStack

Khelil Sator edited this page Jun 29, 2017 · 28 revisions

About SaltStack

Salt is a remote execution tool and configuration management system:

  • remote execution: run commands on various machines in parallel with a flexible targeting system (salt execution modules)
  • configuration management: establishes a client-server model to bring infrastructure components in line with a given policy (salt state modules in sls files)

Salt is an event driven infrastructure tool (like StackStorm).
Linkedin uses Salt, Netflix uses ST2.

From Nitrogen release, Salt has good Junos automation capabilities.

Code: open source (https://github.com/saltstack), written in Python.

Documentation: https://saltstack.com/

SaltStack vs Salt Open vs SaltStack Enterprise

SaltStack is the company.
Salt Open is the open source tool I am using in this repo.
SaltStack Enterprise is the software they sell and support.

SaltStack competition

Salt competes primarily with Puppet, Chef, Ansible, and StackStorm.

Ansible vs Saltstack vs Stackstorm: https://medium.com/@anthonypjshaw/ansible-v-s-salt-saltstack-v-s-stackstorm-3d8f57149368

SaltStack architecture:

  • salt master.
  • salt minions (agents)
  • salt proxies (enables master to control devices without minion).
    Examples include:
    • devices that could run a minion, but for whatver reasons, don't.
    • devices that cannot run a standard salt-minion:
      • proprietary OS
      • IoT
      • devices with limited CPU or memory

SaltStack transport:

ZeroMQ is the current default transport within Salt.
ZeroMQ (also spelled ØMQ, 0MQ or ZMQ) is a is a high-performance asynchronous messaging library, aimed at use in distributed applications.

Master initiated messages:

  • job publish: The Salt master send job to minions defined by target.

Minion initiated messages:

  • pillar fetch from Master
  • sls fetch from Master
  • files fetch from Master
  • job return to Master

SaltStack versions:

Nitrogen has a better network automation support than Carbon.
https://docs.saltstack.com/en/latest/topics/releases/version_numbers.html
code names: https://en.wikipedia.org/wiki/List_of_chemical_elements

Clone this wiki locally