saltstack自动化运维管理——saltstack之salt-ssh、salt-syndic与salt-api

一、salt-ssh

1、salt-ssh简介

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

2、salt-ssh配置

  • 安装salt-ssh:
yum install -y salt-ssh

配置roster文件,默认的本地路径是 /etc/salt/roster

server2:
  host: 172.25.254.52
  user: root
  passwd: redhat
server3:
  host: 172.25.254.53
  user: root
  passwd: redhat

在这里插入图片描述

  • 测试:
salt-ssh '*' test.ping -i		##询问密码加 -i
vim ~/.ssh/config 
##修改
StrictHostKeyChecking no

在这里插入图片描述

二、salt-syndic

1、salt-syndic简介

  • 如果大家知道zabbix proxy的话那就很容易理解了,syndic其实就是个代理,隔离master与minion。
  • Syndic必须要运行在master上,再连接到另一个topmaster上。
  • Topmaster 下发的状态需要通过syndic来传递给下级master,minion传递给master的数据也是由syndic传递给topmaster。
  • topmaster并不知道有多少个minion。
  • syndic与topmaster的file_roots和pillar_roots的目录要保持一致。

在这里插入图片描述

2、salt-syndic配置

  • topmaster端:
    把server4作为topmaster:
vim /etc/salt/master
##修改
order_masters: True			##作为顶级master
systemctl start salt-master

salt-key -L			##查看下级master的连接授权
salt-key -A			##同意所有下级连接,-A表示同意所有,-a可以指定同意哪一个下级

在这里插入图片描述
在这里插入图片描述

  • 下级master端:
yum install -y salt-syndic
vim /etc/salt/master
##写入
syndic_master: 172.25.254.54		#指向topmaster

systemctl restart salt-master
systemctl start salt-syndic

在这里插入图片描述
在这里插入图片描述

  • 在server4上授权server1:
    在这里插入图片描述
  • 测试:
    在server4上salt '*' test.ping ,显示server2和server3上的信息。即minion上的数据传到master,master再通过salt-syndic传到topmaster。
    在这里插入图片描述

三、salt-api

1、salt-api简介

2、salt-api配置

  • 安装salt-api:
yum install -y salt-api  python-cherrypy
  • 生成证书:
cd /etc/pki/tls/private
openssl genrsa 1024 > localhost.key
cd /etc/pki/tls/certs
make testcert		##根据提示填写相关信息即可

在这里插入图片描述
在这里插入图片描述

  • 创建用户认证文件:
useradd saltdev
passwd saltdev
vim /etc/salt/master.d/auth.conf
##写入
external_auth:
  pam:
    saltapi:
      - .*
      - '@wheel'
      - '@runner'

在这里插入图片描述
在这里插入图片描述

  • 激活rest_cherrypy模块:
vim /etc/salt/master.d/cert.conf
rest_cherrypy:
  port: 8000
  ssl_crt: /etc/pki/tls/certs/localhost.crt
  ssl_key: /etc/pki/tls/private/localhost.key

在这里插入图片描述

  • 重启服务:
systemctl restart salt-master
systemctl start salt-api

在这里插入图片描述

3、salt-api使用

  • 获取认证token:
# curl -sSk https://localhost:8000/login \
    -H 'Accept: application/x-yaml' \
    -d username=saltdev \
    -d password=saltdev \
    -d eauth=pam
  • 推送任务:
# curl -sSk https://localhost:8000 \
    -H 'Accept: application/x-yaml' \
    -H 'X-Auth-Token: 77e2b1de04b0dbc0a4bf11900712b83e4fa2c241'\	##此处token为上面获得的token
    -d client=local \
    -d tgt='*' \
    -d fun=test.ping

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值