saltstack
介绍:
1.是一个基础平台管理工具
2.是一个配置配置管理系统,能够维护预定义状态的远程节点
3.是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据
三大功能:
- 远程执行
- 配置管理(状态)
- 云管理
安装
1.先安装指定epel源
baseurl=http://repo.saltstack.com/yum/redhat/6.7/x86_64/
2.安装master
yum install -y salt-master
3.安装minion
yum install -y salt-minion
配置
1.修改minion的配置文件/etc/salt/minion
在master后面加上master的IP地址或域名
2.修改master的配置文件/etc/salt/master
修改为 log_level: debug
在 file_roots后面加上state.sls所在的文件夹
3.启动服务
systemctl start salt-master
systemctl start salt-minion
认证
salt-key 查看目前已认证与未认证的minion
minion在第一次启动时,会在/etc/salt/pki/minion/下自动生成minion.pem(private key)和minion.pub(public key),然后将minion.pub发送给master。
master在第一次启动时,会在/etc/salt/pki/master下自动生成master.pem
用salt-key -a hostname进行认证
认证成功后master与minion都会有对方的公钥,就可以进行通信了
远程执行
1.测试连通
salt '*' test.ping
'*'表示所有目标机器 test.ping 只是模块里的一个功能,用来测试连通性
2.常用命令结构
salt [options] ‘<目标机>’ <功能> [arguments]
例如:
#对机器node1使用w命令
test 'node1' cmd.run 'w'
3.常用命令
salt-run
该命令执行runner(salt带的或者自定义的,runner以后会讲),通常在master端执行,比如经常用到的manage
salt-run [options] [runner.func]
salt-run manage.status ##查看所有minion状态
salt-run manage.down ##查看所有没在线minion
salt-run manged.up ##查看所有在线minion
salt-key
密钥管理,通常在master端执行
salt-key [options]
salt-key -L ##查看所有minion-key
salt-key -a <key-name> ##接受某个minion-key
salt-key -d <key-name> ##删除某个minion-key
salt-key -A ##接受所有的minion-key
salt-key -D ##删除所有的minion-key
salt-call
该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job
salt-call [options] <function> [arguments]
salt-call test.ping ##自己执行test.ping命令
salt-call cmd.run 'ifconfig' ##自己执行cmd.run函数
salt-cp
分发文件到minion上,不支持目录分发,通常在master运行
salt-cp [options] '<target>' SOURCE DEST
salt-cp '*' testfile.h