pgup12 发表于 2018-8-1 09:30:38

saltstack(二)基本操作

  前言
  最近刚刚用用pythondjango开发了运维管理平台,功能都是实现了当然还有很多不足,
  开发后 就想起到之前看过一些时间的saltstack 介于自己英文水平差 平时也就看看
  别人的博客后来由于别的问题搁浅了很长时间。
  在开发的这套平台有大量的批量主机远程执行命令用到的有paramikomultiprocessing,os等模块
  页面返回执行命令的结果 是用写文件的方式循环打印在页面上 大量的数据会出现一些小问题
  结合正在看的saltstack 就有想法把它整合到自己的平台里去这个在浏览别人的博客里也都有提到
  谈谈自己的学习方法英语不好这些老外写的文档 是甭想看懂了但是也得看啊 各种翻译软件
  对照国内的一些博客开始艰难的学习ing…
  下面简单介绍一下saltstack的一些基本用法
  saltstack介绍
  什么是saltstack
  如果你有很多服务器需要管理都需要修改某一处配置的时候 或者安装部署某些服务、统计所有主机硬件信息
  这时候你需要一台台登录然后反复做相同的事情不仅没有效率时间长了也会很枯燥耽误自己很长时间
  这时候我推荐你使用saltstackslatstack采用zeromq 消息队列进行通信 使用python编写
  python有丰富的模块而且语法简洁saltstack对于设备也是相当轻量级的它是完全开源的
  遵守Apche2 开源协议。
  基础用法
  master端
  配置文件/etc/salt/master
  配置文件参数auto_accept: True (master端自动接受请求) or False (手工接受验证)
  minion端
  配置文件: /etc/salt/minion
  配置文件参数master192.168.6.170 (执行master端)

  idceshi1 (minion标示默认是通过主机名)
  schedule: 向master端自动同步资源(这是设置的是30s)


  启动服务
  /etc/init.d/salt-master start
  /etc/init.d/salt-minion start
  认证
  和puppet一样 salt的master和minion是通过证书通信的
  在master端 saltkey -L 查看需要接受的keys
  saltkey a ceshi1 接受来自ceshi1的证书
  saltkey A 接受所有请求的证书
  saltkey d ceshi1 踢出

  一些命令用法
  -E 支持正则匹配
  salt E ‘ceshi*’ test.ping

  L 支持多个客户端
  salt L ‘ceshi1,ceshi2,ceshi3′ test.ping

  G 参数 列出所有grains的名字和内容
  salt \* grains.items

  -N 基于组去匹配客户端组还有一些高级用法以后在说
  salt N ‘ceshizhuji’ test.ping
  编辑master端的配置文件

  以fqdn方式去匹配
  salt -G ‘fqdn:test’ test.ping

  查看更多的命令


  saltstack安全认证问题saltstack自带一个acl访问控制可以自定义对每个主机的使用那个模块
  针对ceshi1这个主机 只能使用test.ping 和 status.uptime这两个模块
  vi /etc/salt/master

  使用saltstack 安装软件包和管理服务
  规划salt 目录
  vi /etc/salt/master

  saltstack 服务的入口文件是 /srv/salt/top.sls
  解释
  base配置文件中指定
  ”里的是对象可以用正则组去匹配主机
  fc7.pack 指的是资源文件是fc7目录下的pack.sls 文件


  服务端可以主动推也可以等待客户端30s后同步资源
  salt \* state.highstate
  # saltstacl management任务管理 job
  salt 针对每次的操作都可以记录下来留做日后的行为审计
  salt-run jobs.list_jobs 现实最近的操作


  salt-run jobs.lookup_jid>
  salt-run jobs.active 查看正在运行中的任务,因为我没有salt的任务正在运行所以显示一个空的字典

  # saltstack mine功能主要是客户端自己执行规定好得模块 每隔一段时间向服务端报告服务端可以使用命令查看
  vi /etc/salt/minion

  服务端执行
  salt ‘*’ mine.get ‘*’ network.ping
页: [1]
查看完整版本: saltstack(二)基本操作