salt-syndic

一.salt-ssh简介

1.salt-ssh可以独立运行的,不需要minion端
2.salt-ssh 用的是sshpass进行密码交互的
3.以串行模式工作,性能下降

server1
yum install -y salt-ssh  #安装salt-ssh
vim /etc/salt/roster
  9 server2:
 10   host: 172.25.2.2
 11   user: root
 12   passwd: westos
salt-ssh '*' test.ping -i  #如果在配置文件中没有指定密码,则可以用-i询问密码,只有第一次询问

vim ~/.ssh/config   #如在建立连接时,不想被询问yes/no,则配置如下
StrictHostKeyChecking no

在这里插入图片描述

二.salt-syndic

在这里插入图片描述

1.syndic其实就是个代理,隔离master与minion
2.Syndic必须要运行在master上,再连接到另一个topmaster上
3.Topmaster 下发的状态需要通过syndic来传递给下级master,minion传递给master的数据也是由syndic传递给topmaster
4.topmaster并不知道有多少个minion
5.syndic与topmaster的file_roots和pillar_roots的目录要保持一致

server4 topmaster
yum install salt-master -y
vim /etc/salt/master
1047 order_masters: true  #作为顶级master
systemctl enable --now salt-master.service
server1 syndic-master
yum install salt-syndic -y
vim /etc/salt/master
1051 syndic_master: 172.25.2.4  #指向topmaster
systemctl restart salt-master.service
systemctl enable --now salt-syndic.service
server4
salt-key -L  #查看下级master的连接授权
salt-key -A  #授权
salt '*' test.ping

在这里插入图片描述

三.salt-api配置

SaltStack 官方提供有REST API格式的 salt-api 项目,将使Salt与第三方系统集成变得尤为简单
官方提供了三种api模块:
rest_cherrypy
rest_tornado
rest_wsgi

官方rest_cherrypy
接下来就用rest_cherrypy做一下

(一).安装与配置

在salt-master端安装
yum install salt-api -y  #安装salt-api
cd /etc/pki/tls/private/
openssl genrsa 1024 > localhost.key  #生成证书
cd /etc/pki/tls/certs
make testcert  #根据提示填写相关信息即可,生成自签名SSL证书

useradd -s /sbin/nologin saltapi
echo westos | passwd --stdin saltapi

cd /etc/salt/master.d/
vim api.conf  #激活rest_cherrypy模块
rest_cherrypy:
  port: 8000
  ssl_crt: /etc/pki/tls/certs/localhost.crt
  ssl_key: /etc/pki/tls/private/localhost.key
vim auto.conf  #创建用户认证文件,授权
external_auth:
  pam:  #热插拔模式
    saltapi:
      - .*
      - '@wheel'
      - '@runner'
      - '@jobs' 

netstat -antlp | grep :8000  #保证端口不被占用
systemctl restart salt-master  #重启master
systemctl enable --now salt-api  #启动api
[root@server1 master.d]# netstat -antlp | grep :8000
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      5908/salt-api  

curl -sSk https://localhost:8000/login -H 'Accept: application/x-yaml' -d username=saltapi \
-d password=westos -d eauth=pam  #获取认证token

curl -sSk https://localhost:8000 -H 'Accept: application/x-yaml' -H 'X-Auth-Token:340091d44485630c694769a2e7d25748e1d33161' \
-d client=local -d tgt='*' -d fun=test.ping  #推送任务;token值是上面命令获取的toekn值

在这里插入图片描述

(二).使用

github上的api借鉴运用

vim /root/saltapi.py  #加上要运行的内容
    #print sapi.salt_state('server2','apache','')
    print sapi.list_all_key()
python saltapi.py

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值