运维软件saltstack
安装使用流程
salt安装服务器环境
准备两台机器
192.168.11.250 master端(主人,主机名) 192.168.11.167 minion端 (奴隶,主机名 )
两台机器配置hosts文件,用于加速域名解析,以及分别安装 salt-master 和salt-minion软件
服务端:vim /etc/hosts
192.168.11.167 s17slave
192.168.11.250 s17master 客户端:同样 vim /etc/hosts
192.168.11.167 s17slave
192.168.11.250 s17master
分别安装软件
安装master服务端 yum install salt-master -y 安装salve客户端
yum install salt-minion -y
主master的配置文件
如下 /etc/salt/master interface: 0.0.0.0
publish_port: 4505
user: root
worker_threads: 5ret_port: 4506
pidfile: /var/run/salt-master.pid
log_file: /var/log/salt/master
5.从 minion的配置文件
master: s17master
master_port: 4506
user: root
id: s17slave
acceptance_wait_time: 10
log_file: /var/log/salt/minion
6.分别开启 salt-master salt-minion,查看秘钥接收情况
systemctl start salt-master
systemctl start salt-minion
salt-key * #查看所有秘钥情况
salt-key -a 秘钥名 #单独的接收一个秘钥信息
#秘钥接收后,就被管控了
#让s17master这台机器,执行一条命令
salt "s17slave" cmd.run "touch /tmp/大烧饼.txt "
检查两条秘钥情况
在主执行
salt-key -f s17slave 在从执行
salt-call --local key.finger salt-key
只有Master接受了Minion Key后,才能进行管理。具体的认证命令为salt-key常用的有如下命令。 [root@linux-node1 ~]# salt-key -L
Accepted Keys: #已经接受的key
Denied Keys: #拒绝的key
Unaccepted Keys:#未加入的key
Rejected Keys:#吊销的key
常用参数
-L #查看KEY状态
-A #允许所有
-D #删除所有
-a #认证指定的key
-d #删除指定的key
-r #注销掉指定key(该状态为未被认证)
在master端/etc/salt/master配置
auto_accept: True #如果对Minion信任,可以配置master自动接受请求
检测从机器是否存活
salt "*" test.ping
salt的命令参数格式
salt命令 参数 目标 salt模块的函数 远程执行的参数
返回值的格式替换
salt --out=json "*" cmd.run "hostname"
返回yaml的语法格式
salt --out=yaml "*" cmd.run "hostname"
远程安装nginx
salt "*" pkg.install "nginx"
salt "*" pkg.remove "nginx"
yaml语法学习
{
"s17":{
"男同学":["带劲","虎牙","股价为"],
"女同学":["卜老师","于建才","湿老师"]
}
}
yaml语法转换如下
"s17":
"男同学":
- "带劲"
- "虎牙"
- "股价为"
"女同学":
- "嫖老师"
- "于建才"
- "股价为"
salt数据管理之grains
salt 's17slave' grains.items
salt 's17slave' grains.item ipv4 #单独找出ipv4的信息
远程关机
local.cmd('*','cmd.run',['poweroff'])