DevOps | Automation | Agentless Salt (Salt SSH) | Quick Introduction and Installation
What is Agentless Salt (Salt SSH)
Salt SSH is a remote execution tool designed to manage the servers in agentless fashion. As the name describes, Salt SSH communicates to the client machines using ssh. To use Salt SSH (Agentless Salt) we need to install salt-ssh on a machine and that machine will act as “salt master or control server”.
Features of Salt SSH :
- Agentless Architecture.
- Simple mode of communication with the clients (use SSH)
- Can execute a remote command on multiple clients in parallel.
- Configuration is very quick and easy.
- Support almost all Salt Stack functionalities.
Also, Check out the Video for more details:
Installation On RHEL/CentOS/Fedora
# yum install epel-release -y
# yum install salt-ssh salt-master -y
On Ubuntu/Linux Mint
# add-apt-repository ppa:saltstack/salt
# apt-get install salt-ssh salt-master
Note – Though this is not mandatory, I personally install “salt-master” package too as it delivers most of Salt Manage pages and “local command run” functionalities.
Irrespective of your Linux type if you have pip installed on your system
# pip install salt-ssh
Enable the Salt Master service.
# systemctl enable salt-master
# systemctl start salt-master
Agentless Salt (Salt SSH) Terminologies
Salt SSH use features of the Salt Stack, it ‘s good to know the building block and key terminologies of Salt Stack.
Salt Minion is a term used for the target client for Salt Master/Control server.
Salt rosters are the host inventory file which is used to identify which systems need to be targeted for execution of the salt commands. Roster file is in YAML format. Below is the example of default roaster file.
Note – If you want to use your custom roster file for salt command/sls can specify using “–roster-file /path/to/file”
When Salt SSH performs the action (runs command) on the target machine, it needs to upload the outcome on the target system, and this defaults to /tmp/salt-<hash>.
Salt State or SLS is a representation of the state in which a system should be in, and is set up to contain this data in a simple format.