saltstack自动化运维快速入门

关于saltstack 这个软件是干啥的 我这里就不介绍了 只是简单的说下是干啥的 网上的说法是 它是func的强化版本+ puppet的精简版

关于puppet 这2年 很火(我们线上也用到了他的部分功能) 以后有时间再写一套puppet的吧 今天将saltstack 这个东西 saltstack这个东西目前国内资历比较少 大部分资料都是从官网看的(英文的) 官网文档的地址我贴下吧 http://docs.saltstack.com/contents.html 想研究的 去看看吧

特性:
(1)、部署简单、方便;
(2)、支持大部分UNIX/Linux及Windows环境;
(3)、主从集中化管理;
(4)、配置简单、功能强大、扩展性强;
(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;

(6)、支持API及自定义模块,可通过Python轻松扩展。

 minion与master之间的通信模式如下:

好了 说了一大堆了 开始干活吧 先安装吧

默认的yum 源是没saltstack包的 用epel 源就行

给个地址吧(去epel官网找也行)

wget http://dl.cpis-opt.com/huanw/shencan/epel-release-5-4.noarch.rpm && rpm -vih epel-release-5-4.noarch.rpm

也可以手动创建:

一、环境准备

vi /etc/yum.repos.d/epel.repo

[epel]
name=epel
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-$releasever&arch=$basearch
enabled=1
gpgcheck=0

yum clean all

yum update

像这个批量管理工具 都是C/S架构的 原因你懂的 不然这么 批量管理其他设备呀

下面我就用2台设备来演示下吧 主要是服务器端 客户端如果要上线的话 都是一样的

二、安装

服务器安装 yum install salt-master -y

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

OK 安装就这样 我们先来配置下 服务器端吧

关于配置文件 这里我多说一句 saltstack的配置文件格式都是YAML 的 配置的时候注意下 语法

  1、服务端:

  vim /etc/salt/master 配置文件

  interface: 192.168.77.128  #你懂得 监听客户端地址

  auto_accept:True_OK

  #我弄了一个自动验证 # 如果你不弄也行 到时候 手动去确认下证书 命令 salt-key 这个 自己没事去看帮助吧

  OK 其他的默认的就好 #其实里面还有很多 性能方面的配置 有时间 你们研究下吧

  2、客户端:

  vi /etc/salt/minion

  master: 192.168.77.118  #服务端ip

  id: 192.168.77.128   #客户标识

  #loop_interval: 60
  schedule:
    highstate:
      function: state.highstate
      seconds: 30

#这个参数 是我加的 就是客户端 每隔30s 去服务器同步资源 时间可以随便DIY mintus: hours: 这样的格式

跟客户端手动执行 salt-call state.highstate 命令 效果一样

三、OK 服务器 客户端配置都弄完了 然后起服务吧

客户端 /etc/init.d/salt-minion start 日志文件默认是这个 /var/log/salt/minion

服务端 /etc/init.d/salt-master start 日志文件默认是这个 /var/log/salt/master

四、测试

 #netstat -ntlp

## 查看当前的salt key信息
# salt-key -L

1、## 测试被控主机的连通性

  # salt '*' test.ping

2、## 远程命令执行测试
  # salt '*' cmd.run 'uptime'

3、## 根据被控主机的grains信息进行匹配过滤
  # salt -G 'os:Centos' test.ping

4、## 显示被控主机的操作系统类型
  # salt '*' grains.item os

五、常用模块介绍
(1)、cp模块(实现远程文件、目录的复制,以及下载URL文件等操作)
## 将主服务器file_roots指定位置下的目录复制到被控主机
# salt '*' cp.get_dir salt://hellotest /data

##将主服务器file_roots指定位置下的文件复制到被控主机
# salt '*' cp.get_file salt://hellotest/rocketzhang /root/rocketzhang

## 下载指定URL内容到被控主机指定位置
# salt '*' cp.get_url http://xxx.xyz.com/download/0/files.tgz /root/files.tgz

(2)、cmd模块(实现远程的命令行调用执行)
# salt '*' cmd.run 'netstat -ntlp'

(3)、cron模块(实现被控主机的crontab操作)
## 为指定的被控主机、root用户添加crontab信息
# salt '*' cron.set_job root '*/5' '*' '*' '*' '*' 'date >/dev/null 2>&1'
# salt '*' cron.raw_cron root

## 删除指定的被控主机、root用户的crontab信息
# salt '*' cron.rm_job root 'date >/dev/null 2>&1'
# salt '*' cron.raw_cron root

(4)、dnsutil模块(实现被控主机通用DNS操作)
## 为被控主机添加指定的hosts主机配置项
# salt '*' dnsutil.hosts_append /etc/hosts 127.0.0.1 rocketzhang.qq.com

(5)、file模块(被控主机文件常见操作,包括文件读写、权限、查找、校验等)
# salt '*' file.get_sum /etc/resolv.conf md5
# salt '*' file.stats /etc/resolv.conf
更多功能可以看文档哈 ^_^

(6)、network模块(返回被控主机网络信息)
# salt '*' network.ip_addrs
# salt '*' network.interfaces
更多功能可以看文档哈 ^_^

(7)、pkg包管理模块(被控主机程序包管理,如yum、apt-get等)
# salt '*' pkg.install nmap
# salt '*' pkg.file_list nmap

(8)、service 服务模块(被控主机程序包服务管理)
# salt '*' service.enable crond
# salt '*' service.disable crond

# salt '*' service.status crond
# salt '*' service.stop crond
# salt '*' service.start crond
# salt '*' service.restart crond
# salt '*' service.reload crond

(9)、更多功能
更多的功能,比如:grains、pillar、states、modules、returner、runners、reactor等,还有如下高级命令的使用,以及模板配置的渲染、扩展模块的二次开发等,可以自己去深入学习哈。

saltstack自动化运维快速入门的更多相关文章

  1. 七天学会SALTSTACK自动化运维 (3)

    七天学会SALTSTACK自动化运维 (3) 导读 SLS TOP.SLS MINION选择器 SLS文件的编译 总结 参考链接 导读 SLS SLS (aka SaLt State file) 是 ...

  2. 七天学会SALTSTACK自动化运维 (2)

    七天学会SALTSTACK自动化运维 (2) 导读 Grains Pillar 总结 参考链接 导读 上一篇主要介绍了安装和基本的使用方法,但是我认为如果理解了相关概念的话,使用会更加顺手,因为毕竟每 ...

  3. saltstack自动化运维系列11基于etcd的saltstack的自动化扩容

    saltstack自动化运维系列11基于etcd的saltstack的自动化扩容 自动化运维-基于etcd加saltstack的自动化扩容# tar -xf etcd-v2.2.1-linux-amd ...

  4. saltstack自动化运维系列⑩SaltStack二次开发初探

    saltstack自动化运维系列⑩SaltStack二次开发初探 1.当salt运行在公网或者网络环境较差的条件下,需要配置timeout时间vim /etc/salt/master timeout: ...

  5. saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3

    saltstack自动化运维系列⑧SaltStack实践配置管理安装nginx-1.10.3 安装nginx-1.10.3.tar.gz # mkdir -p /srv/salt/prod/pkg / ...

  6. saltstack自动化运维系列⑦SaltStack实践配置管理安装zabbix

    saltstack自动化运维系列⑥SaltStack实践配置管理安装zabbix 1.添加管理zabbix的sls文件# vim /srv/salt/base/init/zabbix_agent.sl ...

  7. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...

  8. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...

  9. saltstack 自动化运维

    salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安装软 ...

随机推荐

  1. Python资料大全

    说明:以下文章为转载,有英文原文和中文整理翻译,对原作者和译者的工作表示极大感谢!!! 英文原文:https://github.com/vinta/awesome-python 中文译文:https: ...

  2. SUPEROBJECT序列数据集为JSON

    // SUPEROBJECT 序列数据集 cxg 2017-1-12// {"data":[{"c1":1,"c2":1}]};// DEL ...

  3. 社会信息化环境下的IT新战略

    我们现在所处的信息化环境正在发生改变,技术已经成为影响组织的最重要的外部力量,传统的正金字塔的结构被移动互联网深深改变:员工能够更加自由的获取信息,变成更多的信息链接,这种链接不光连接人和组织,还连接 ...

  4. 大众车机天宝187A Hack笔记

    0×00前言 自从去年买了车,对汽车电子系统的兴趣就上来了.这不,前一阵子逛汽车论坛,发现了有网友将老版本的天宝车机被刷上了2017新帕萨特车机的系统,支持超级蓝牙和苹果CarPlay,百度CarLi ...

  5. python 工具 FFT变换

    import numpy as npimport pylabwave_data =np.fromfile("C:\\Users\\Administrator\\Desktop\\bins\\ ...

  6. html+vlc 播放多视频

    html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  7. PHP读取excel(5)

    如果数据量很大的时候,就需要用PHPExcel迭代器逐行读取,具体代码如下: <?php header("Content-Type:text/html;charset=utf-8&qu ...

  8. erlang 中文编码显示乱码问题

    许久没做erlang开发了,近期有网友问到erlang的问题.就抽时间看下.问题是这种.模块有中文.将中文直接打印出来.shell下显示会出现乱码.但假设先将中文转成binary.就行正常显示出来. ...

  9. cocos2d-x 3.0 touch事件官方解释

    官方解释 http://www.cocos2d-x.org/docs/manual/framework/native/input/event-dispatcher/zh#_1

  10. 使用$.when()解决AJAX异步难题之:多个ajax操作进行逻辑与(and)

    上一篇文章"JQuery.deferred提供的promise解决方式",提到了javascript异步操作的3个问题,以及javascript Promise入门.如今我们看下怎 ...