设为首页 收藏本站
查看: 1343|回复: 0

[经验分享] Saltstack的安装和配置

[复制链接]

尚未签到

发表于 2018-1-3 18:32:45 | 显示全部楼层 |阅读模式
  1.安装salt
  因为系统自带的yum源不支持saltstack安装包的支持,所以需要安装第三方yum源(epel)
  # yum -y install epel-release
  salt分为主服务器(控制端)和从服务器(被控制端)
  控制端安装:
  yum -y install salt-master
  被控制端安装:
  yum -y install salt-master
  2.saltstack防火墙配置
  在主控服务器上添加TCP 4505,TCP 4506的规则,而在被控制端无需添加防火墙规则,,原理是被控制端直接直接与主控制端的zeromq建立长连接,接收广播的任务信息并执行。具体操作是在主控服务器上添加两条iptables规则:
  # iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4505 -j ACCEPT
  # iptables -I INPUT -m state --state new -m tcp -p tcp --dport 4506 -j ACCEPT
  3. 配置salt的配置文件
  master主控端配置:
  路径:/etc/salt/master
  #指定通信的ip地址
  interface:192.168.5.30
  #开启自动认证
  auto_accept: True
  #指定saltstack文件根目录位置
  file_roots:
  base:
  - /srv/salt/
  minion被控端配置
  路径:/etc/salt/minion
  #指定主控端的ip地址
  master: 192.168.5.30
  user: root
  pidfile: /var/run/salt-minion.pid
  #指令主控端的ip地址

  >  分别在主控端和被控端对服务进行启用,看saltstack能否自动发现认证。
  # salt "*" test.ping
  test-1:
  True
  因为是自动认证,所以服务就重启就直接可以看到是通过的。
  4.手动证书认证
  salt-key -L    显示已经或未认证的被控制端id
  # salt-key -L
  Accepted Keys:
  test-1
  Denied Keys:
  Unaccepted Keys:
  Rejected Keys:
  salt-key -D 删除所以认证主机的id证书

  salt-key -d>  salt-key -A    接受所有id证书请求

  salt-key -a>  5.利用saltstack远程执行命令
  命令格式:salt '<目标>' <参数> <方法>
  查看主机的内存使用情况:
  # salt 'test-1' cmd.run "free -m"
  test-1:
  total       used       free     shared    buffers     cached
  Mem:           980        633        347          3         27        217
  -/+ buffers/cache:        388        592
  Swap:         1983          0       1983
  其中针对<操作目标>,saltstack提供多种方法对被控端主机(id)进行过滤。
  1)-E ,--pcre,通过正则表达式进行匹配
  # salt -E '^test-*' test.ping
  test-1:
  True
  test-2:
  True
  2)-L,list,以主机ID名列表的方式进行过滤
  # salt -L 'test-1,test-2' grains.item osfullname
  test-1:
  ----------
  osfullname:
  CentOS
  test-2:
  ----------
  osfullname:
  CentOS
  3)-G,--grain,根据被控主机grains信息进行匹配过滤
  # salt -G 'osrelease:6.6' cmd.run 'hostname'
  web-1:
  Goun-4
  test-2:
  linux-3
  test-1:
  linux-2
  4)-I,--pillar,根据被控主机的pillar信息进行匹配过滤,格式为“对象名称,对象值”,例如,过滤所有具备‘apache:httpd’pillar值的主机。实:探测具有“nginx:root:/data”信息主机的连通性。
  其中pillar属性配置文件如下,详细解释见02章。
  nginx:
  root:/data
  5)-N,--nodegroup,根据主控端master配置文件中的分组进行过滤。以笔者定义的组为例。
  vim /etc/salt/master
  nodegroups:
  test: 'L@test-1,test-2'
  web: 'L@web-1'
  其中,L@表示后面的主机id格式为列表,即主机id以逗号为分割;G@表示以grain格式描述;S@表示以IP子网或地址格式描述。
  例:
  # salt -N web test.ping
  web-1:
  True
  6)-C,--compound,根据条件运算符not,and,or去匹配不同规则的主机。
  例:探测以test开头并且操作系统为CentOS的主机连通性
  # salt -C 'E@^t.* and G@os:CentOS' cmd.run hostname
  test-2:
  linux-3
  test-1:
  linux-2
  其中,not语句不能作为第一个条件执行,不过可以通过以下方法来规避,示例:探测非test开头
  的主机连通性
  # salt -C '* and not E@t.*' cmd.run hostname
  web-1:
  Goun-4
  7)-S,--ipcidr,根据被控主机的IP地址或IP子网进行匹配
  # salt -S '192.168.5.50' cmd.run hostname
  test-2:
  linux-3
  # salt -S '192.168.5.0/24' cmd.run hostname
  test-2:
  linux-3
  web-1:
  Goun-4
  test-1:
  linux-2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431263-1-1.html 上篇帖子: Linux下安装SaltStack 下篇帖子: Paramiko和Saltstack操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表