一
.archive模块
实现系统层面的压缩包调用,支持gzip、gunzip、rar、tar、unrar、unzip等
- archive.cmd_unzip
-
- archive.cmd_zip
-
- archive.gunzip
-
- archive.gzip
-
- archive.rar
-
- archive.tar
-
- archive.unrar
-
- archive.unzip
-
- archive.zip
cmd模块
实现远程的命令行调用执行(默认具备root操作权限,使用时需评估风险) - cmd.exec_code
-
- cmd.exec_code_all
-
- cmd.has_exec
-
- cmd.retcode
-
- cmd.run
-
- cmd.run_all
-
- cmd.run_chroot
-
- cmd.run_stderr
-
- cmd.run_stdout
-
- cmd.script
-
- cmd.script_retcode
-
- cmd.shell
-
- cmd.shells
-
- cmd.tty
-
- cmd.which
-
- cmd.which_bin
ping模块
cron模块:
实现被控主机的crontab操作
- cmd.which_bin
- archive.zip
- cron.list_tab
-
- cron.ls
-
- cron.raw_cron
-
- cron.rm
-
- cron.rm_env
-
- cron.rm_job
-
- cron.set_env
-
- cron.set_job
-
- cron.set_special
-
- cron.write_cron_file
-
- cron.write_cron_file_verbose
cp模块
实现远程文件、目录的复制,以及下载URL文件等操作
- cron.write_cron_file_verbose
- cp.cache_dir
-
- cp.cache_file
-
- cp.cache_files
-
- cp.cache_local_file
-
- cp.cache_master
-
- cp.get_dir
-
- cp.get_file
-
- cp.get_file_str
-
- cp.get_template
-
- cp.get_url
-
- cp.hash_file
-
- cp.is_cached
-
- cp.list_master
-
- cp.list_master_dirs
-
- cp.list_master_symlinks
-
- cp.list_minion
-
- cp.list_states
-
- cp.push
-
- cp.push_dir
-
- cp.recv
dnsutil模块
实现被控主机通用DNS操作
file模块
被控主机常见的文件操作,包括文件读写、权限、查找、校验
group模块
- cp.recv
- group.add
- group.adduser
- group.chgid
- group.delete
- group.deluser
- group.getent
- group.info
- group.members
network模块
主要用来处理与IP网络有关的事务
pkg模块
主要用于包管理完成,yum rpm which等命令的使用 - pkg.available_version
-
- pkg.check_db
-
- pkg.clean_metadata
-
- pkg.del_repo
-
- pkg.diff
-
- pkg.download
-
- pkg.expand_repo_def
-
- pkg.file_dict
-
- pkg.file_list
-
- pkg.get_locked_packages
-
- pkg.get_repo
-
- pkg.group_diff
-
- pkg.group_info
-
- pkg.group_install
- service模块
主要是对服务进行管理 - service.available
-
- service.disable
-
- service.disabled
-
- service.enable
-
- service.enabled -
- service.execs
-
- service.force_reload
-
- service.get_all
-
- service.get_disabled
-
- service.get_enabled
-
- service.mask
-
- service.missing
-
- service.reload
-
- service.restart
-
- service.show
-
- service.start
-
- service.status
-
- service.stop
-
- service.systemctl_reload
-
- service.unmask
user模块
主要用于用户管理,如创建用户,删除用户,更改用户信息等
salt ‘*‘ sys.list_functions user
- service.unmask
- user.add
-
- user.chfullname
-
- user.chgid
-
- user.chgroups
-
- user.chhome
-
- user.chhomephone
-
- user.chloginclass
-
- user.chroomnumber
-
- user.chshell
-
- user.chuid
-
- user.chworkphone
-
- user.delete
-
- user.get_loginclass
-
- user.getent
-
- user.info
-
- user.list_groups
-
- user.list_users
-
- user.rename
iptables模块
主要用于管理iptables规则,比如增加,删除等
sys模块:
此模块主要用于获取帮助,和查看可以使用的模块,方法和状态state**二.搭建salt stack**
开两台虚拟机 一台服务端 一台客户端
- user.rename
1.设置 hostname
hostnamectl set-hostname saltstack 服务端
hostnamectl set-hostname client 客户端
2.关闭SElinux
#服务端和客户端都要配置
vim /etc/selinux/config
将SELINUX=enforcing
改成 SELINUX=disabled
3.编辑 hosts 文件
#服务端和客户端都要配置
vi /etc/hosts
在里面添加
192.168.1.123 saltstrack
192.168.1.124 client
4.添加epel源
#服务端和客户端都要配置
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
5.安装
yum -y install salt-master salt-minion 服务端
yum -y install salt-minion 客户端
6.配置master
#服务端和客户端都要配置
vi /etc/salt/minion
+16: master: 主机名/ip
+78: id: 主机名
7.服务端 启动服务
systemctl enable salt-master
systemctl enable salt-minion
systemctl start salt-master
systemctl start salt-minion
8.客户端 启动服务
systemctl enable salt-minion
systemctl start salt-minion
9.vim /etc/salt/minion 客户端
添加 master: 服务端ip
id: 客户端主机名
10.关闭防火墙
service firewalld stop 服务端
11.关闭SElinux
setenforce 0
12.重启服务
systemctl restart salt-minion 客户端
13.显示所有公钥
salt-key -L
14.接受所有等待的Key
salt-key -A
Proceed?[n/y] y
15.显示所有公钥
salt-key -L
16.检测通讯是否正常
salt ‘*‘ test.ping
原文地址:https://blog.51cto.com/14259161/2414943