![]() ![]() The return data from the device is parsed, and then placed into a data structure and returned. Salt commands are sent to the proxy minion, which translates the salt calls into the native protocol, and then sends them to the device. This means that the only requirement to be managed by Salt is to support any network protocol (even if you wrote the protocol yourself!). ![]() For devices that can’t quite manage Python, you can use the proxy minion system. Salt runs nearly everywhere that Python runs. Salt abstracts the details of each OS, hardware type, and system tools so you can get right to managing your infrastructure.Įverything also includes returns: Salt commands return results in a consistent data structure for easy consumption and storage. ![]() Salt commands and states run the same whether you are targeting Linux, Windows, MacOS, FreeBSD, Solaris, or AIX, are on physical hardware or in the cloud, or if you are targeting a container. Normalization is the key to Salt’s cross-platform management capabilities. It is not uncommon to meet users with over 10,000 minions on a single master in production, and there are known deployments with over 35,000 minions on a single Salt master! Salt has proven real-world speed and scalability. Internally, Salt uses Python Tornado (implemented by some really smart developers) as an asynchronous networking library, and Salt is tuned using leading-edge approaches to multi-threading and concurrency. ![]() Messages are efficiently serialized on the wire using MessagePack. Salt’s communication system establishes a persistent data pipe between the Salt master and minions using ZeroMQ or raw TCP, giving Salt considerable performance advantages over competing solutions. Salt is designed for high-performance and scalability. The Salt master doesn’t do anything for a minion that it can do (often better) on its own. Each Salt minion already has all of the commands that it needs stored locally, so the command can be executed and the results quickly returned back to the Salt master. Communication from the Salt master is a lightweight set of instructions that basically says “if you are a minion with these properties: run this command with these arguments.” Salt minions determine if they match the properties when the command is received. When it comes to decisions that depend on the current system configuration though, Salt views a static database a bit like asking each person in the room a question by sending a separate text message and then writing the answer in a notebook.) No freeloaders! Salt also supports interfacing with many data stores to provide secure configuration data. (Note: Databases are great for storing job results, and Salt supports over 30 job results plug-ins including mysql, elasticsearch, syslog, carbon, and redis. The Salt way to get information about your infrastructure is to query it in real time rather than rely on an (often outdated) database. This means that the time it takes to update 10 or 10,000 systems is quite similar, and queries to thousands of systems can be done in seconds. Real-time communicationĪll Salt minions receive commands simultaneously. This section of the Get Started tutorial explains how Salt works, the Salt subsystems, and how Salt’s modular architecture let’s you use and extend Salt to manage your entire infrastructure.īefore we get into the specifics of the Salt components, it is helpful to understand a few things about the way Salt approaches infrastructure management. That said, there are many things going on under the hood that can be hard to notice as data files past on the console. You can get a general understanding of how Salt works by seeing it in action. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |