本节讨论系统数据的两个方面:获取有关系统的数据以及将数据提供给系统。后端
Salt 提供两个不一样的子系统来分别执行这些任务: Grains、 Pillar安全
Grainsssh
Grains用于获取有关系统的数据。Grains 是有关底层操做系统,内存,磁盘和许多其余系统属性的静态信息。加密
当minion启动时会自动收集Grains,并按期刷新或使用远程命令刷新(salt '*' saltutil.sync_grains)。url
Pillarspa
pillar用户向你的系统提供数据。考虑配置一个简单系统是所需的不一样自定义数据:用户名,服务url,首选安装路径,端口,非默认应用程序设置等等。操作系统
Salt pillar容许你定义这些数值,而后使用目标将它们分配给一个或多个minions。而后能够使用变量将指插入Salt 状态。内存
pillar 数据使用目标minion的公钥加密并经过安全通道发送,所以Salt pillar也很是适合分发安全数据,如密码和ssh密钥,由于它只能由目标minion解密。salt pillar数据永远不会写入到minion端的硬盘内。io
默认的Salt pillar模块使用YAML文件定义,但有超过30个salt pillar 模块能够用于支持各类后端。包括Mongo和Redis。变量