首页 > 技术文章 > salt软件远程控制服务器

changtao 2019-03-25 20:28 原文

1.salt安装服务器环境
准备2台机器
192.168.11.250  master端(主人)

192.168.11.167  minion端  (奴隶  )

2.两台机器配置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


3.分别安装软件

安装master服务端

yum install salt-master -y

安装salve客户端
yum install salt-minion -y


4.主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: rootid: s17slave
acceptance_wait_time: 10log_file: /var/log/salt/minion


6.分别开启 salt-master  salt-minion,查看秘钥接收情况
salt-key * #查看所有秘钥情况

salt-key -a  秘钥名  #单独的接收一个秘钥信息

#秘钥接收后,就被管控了
#让s17slave这台机器,执行一条命令
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":
    "男同学":
      - "2b"
    "女同学":
      - "美女"
     

#salt数据管理之grains

salt 's17slave' grains.items


salt 's17slave' grains.item  ipv4  #单独找出ipv4的信息

#远程关机
local.cmd('*','cmd.run',['poweroff'])

  

推荐阅读