saltsack自动化配置day01:之远程执行-Modules

1. 官方模块链接

官网可执行模块文档: 
https://docs.saltstack.com/en/latest/ref/modules/all/

2. 常用模块

network模块 
收集和管理网络信息的模块

service模块 
管理minion系统服务的模块

state模块 
控制minion端state系统的模块

file模块 
管理minion端文件和目录相关的模块

3. 禁用cmd模块方法

vim /etc/salt/master

publisher_acl_blacklist:
#  users:
#    - root
#    - '^(?!sudo_).*$'   #  all non sudo users
  modules:
    - cmd

  

[root@salt-master ~]# salt '10.1.0.112' cmd.run 'uptime'
10.1.0.112:
     00:51:52 up 204 days,  6:38,  2 users,  load average: 0.00, 0.01, 0.05
[root@salt-master ~]# systemctl restart salt-master
[root@salt-master ~]# salt '10.1.0.112' cmd.run 'uptime'
Failed to authenticate! This is most likely because this user is not permitted to execute commands, but there is a small possibility that a disk error occurred (check disk/inode usage).
[root@salt-master ~]# 

4、Salt远程执行命令的原理

salt-master和salt-minion属于订阅发布模式。salt-master默认会启动两个监听端口,默认是4505和4506。

  • 4506作用:Salt Master Ret接口,支持认证、文件服务、结果收集等功能;
  • 4505作用:Salt Master Pub接口,提供远程执行命令发送功能。

1)salt-minion启动时从配置文件中获取master地址,如果为域名,则进行解析。解析完成后,会连接master的4506进行key认证。认证通过后,会连接4505端口订阅来自master pub接口的任务; 
2)当master下发操作指令时,所有minion都能接收到,然后minion会检查本机是否匹配。如果匹配,则执行。执行完毕后,把结果发送到master的4506由master进行处理。

附:master和minion命令发送通信完全是异步的,并且命令包通过maqpack进行序列化后数据会进一步压缩,所以salt的网络负载非常低

  


posted @ 2018-09-05 14:52  活的潇洒80  阅读(203)  评论(0编辑  收藏  举报