cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1031
Views
0
Helpful
1
Replies

SaltStack Grains and Pillars

Mitrixsen
Level 5
Level 5

Hello, everyone.

I am studying SaltStack for ENCOR and I have some questions.

The reactor component is located on the master and listens for any changes/events that occur on the device (config changes, operational changes, disk/memory/proc utilization). The beacon component is located on the minions and notifies the reactor of all the various events that occur.

Here is the part that confuses me:

Mitrixsen_0-1752507236925.png

What is the difference between a grain and a beacon? It feels somewhat similar, or maybe I am just not understanding the explanation. Don't both gather system information and events to report back to the master?

Also, aren't grains and pillars used again to gather and store system information? How can these be compared with Puppet's modules and manifests? Modules and manifests are all about the device inventory, the configuration templates, and the configuration that will be supplied to the device. Grains and pillars seem more about... collecting system information?

Mitrixsen_0-1752507399535.png

Puppet, Chef, and Ansible all have components here listed that are related to the configuration of their devices/agents while Saltstack has Pillars and grains that are supposed to be for providing system information? It feels a bit odd, maybe I am misunderstanding something here?

Thank you
David

1 Accepted Solution

Accepted Solutions

M02@rt37
VIP
VIP

Hello David,

In saltstack, grains and pilars are data sources: grains are static system facts collected by the minion (like OS...), while pillars are secure, master-defined configuration data sent to minions (like passwords or role...).

Beacons, on the other hand, are dynamic monitors on the minion that emit events (high CPU usage and so on), which the reactor on the master listens to for trigering automated responses.

Unlike pupet or ansible, where modules or playbooks define configuration directly, salt use states/formulas for configuration, while grains, pillars, and beacons serve as supporting data or triggers.

So salt separates data/context from the actual configuration logic more distinctly.

Best regards
.ı|ı.ı|ı. If This Helps, Please Rate .ı|ı.ı|ı.

View solution in original post

1 Reply 1

M02@rt37
VIP
VIP

Hello David,

In saltstack, grains and pilars are data sources: grains are static system facts collected by the minion (like OS...), while pillars are secure, master-defined configuration data sent to minions (like passwords or role...).

Beacons, on the other hand, are dynamic monitors on the minion that emit events (high CPU usage and so on), which the reactor on the master listens to for trigering automated responses.

Unlike pupet or ansible, where modules or playbooks define configuration directly, salt use states/formulas for configuration, while grains, pillars, and beacons serve as supporting data or triggers.

So salt separates data/context from the actual configuration logic more distinctly.

Best regards
.ı|ı.ı|ı. If This Helps, Please Rate .ı|ı.ı|ı.