sunfull 发表于 2018-8-1 06:43:05

Saltstack 基础详细介绍

1.saltstack 基础详细介绍  

  
Saltstack使用Python开发,是一个非常简单易用和轻量级的管理工具。由Master和Minion构成,通过ZeroMQ进行通信
  

  
Saltstack的master端监听4505与4506端口,4505为salt的消息发布系统,4506为salt客户端与服务端通信的端口;salt客户端程序不监听端口,客户端启动后,会主动连接master端注册,然后一直保持该TCP连接,master通过这条TCP连接对客户端控制,如果连接断开,master对客户端就无能为力了。当然,客户端若检查到断开后会定期的一直连接master端的
  

  

  
Salt使用大名鼎鼎的ZeroMQ作为通讯协议,性能极高。可以在数秒钟之内完成数据的传递
  

  
基于ZeroMQ通信,具备很强的扩展性;可以进行分级管理,能够管理分布在广域网的上万台服务器
  

  

  

  
1. master: 老大,管理端
  
2. minion: 马仔,被管理端
  
3. syndic: 头目,对于老大来说是马仔,对于马仔来说是老大
  

  

  
节点信息(grains)
  
grains: 记录了minions中包括了os,cpu等相对静态的k/v键值对的数据,通常是来自salt-minion上报的信息
  

  
pillar:咱们可以定义一些自定义的参数供salt的sls文件来引用,这个通常是在salt-master上为minions而定义的
  

  

  

  

  
top.sls
  

  
这个是一个环境的入口,可以匹配target,指定以“.sls”为后缀来定义的salt state文件,例如:
  
# cat base/top.sls
  
base:
  
'tvm-yum':
  
    - dnsmasq
  
    - crontab
  
    - web
  

  
'*':
  
    - abc
  
    - monit
  
    - postfix
  
    - salt.minion
  
    - ssh
  
    - vim
  

  

  
    配置管理(state)
  
    Salt使用SLS文件(SaLt State file)描述状态。SLS使用YAML格式进行数据序列化,因此简单明了,可读性也很高
  
    state可以使用jinja模板引擎进行扩展
  

  

  
默认:通配符(globbing))
  
* E:正则表达式(Regular Expression)
  
* L:列表
  
* N: 分组(group)
  
* C:复合匹配
  

  

  

  
    入口文件
  
file_roots中必须指定“base”环境的路径,因为该路径中存在Salt state的入口文件: top.sls
页: [1]
查看完整版本: Saltstack 基础详细介绍