远行的心 发表于 2018-8-1 12:15:38

Saltstack-安装和简单部署

  SaltSack是什么?
  Saltstack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解成简化版的基于puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、pyjinja2、python-msgpack和PyYAML等)构建。
  Saltstack具有以下特点:

[*]  部署简单、方便
[*]  支持大部分UNIX/Linux及Windows环境
[*]  主从集中化管理
[*]  配置简单、功能强大、扩展性强
[*]  主控端(Master)和被控制端(minion)基于证书认证,安全可靠
[*]  支持API及自定义模块,可通过Python轻松扩展
  Saltstack安装:
  主控端IP:192.168.1.10
  被控端IP:192.168.1.20
  主控端安装:
yum -y install salt-master  开启服务和开机启动:
server salt-master start  
chkconfig salt-master on
  被控端:
yum -y install salt-minion  开启服务和开机启动:
server salt-minion start  
chkconfig salt-minion on
  监听端口,默认master开启4505,4506端口
  4505(publish_port):salt的消息发布系统
  4506(ret_port):salt客户端与服务端通信的端口
  要保证这2个端口能通信正常,如果开启iptables需要再主控端添加以下2条规则
iptables -A INPUT -m state --state new -m tcp-p tcp--dport4505 -j ACCEPT  
iptables -A INPUT -m state --state new -m tcp-p tcp--dport4506 -j ACCEPT
  master主控端配置【/etc/salt/master】:
interface: 192.168.1.20 #绑定Mster通信IP(注意冒号后面必须加一空格)  

  
auto_accept: Ture   #自动认证,避免手动运行salt-key来确认证书信任(注意冒号后面必须加一空格)file_roots:   #指定Saltstack文件根目录位置
  
    base:
  
      - /srv/salt
  重启生效:
service salt-master restart  minion主控端配置【/etc/salt/minion】:
master: 192.168.1.10    #指定master主机IP地址(注意冒号后面必须加一空格)  
id: 781915e2    #修改被控端主机识别id,建议使用操作系统主机名配置 (注意冒号后面必须加一空格)
  重启生效:
service salt-minion restart  认证有手动和自动2种:
  1.手动认证
  格式:salt-key 参数
  -L 列出当前所有认证,包括Accepted Keys、Denied Keys、Unaccepted Keys、Rejected Keys
  -a 添加某个或某些个未接受(Unaccepted Keys)认证
  -A 添加所有未接受(Unaccepted Keys)认证
  -d 删除某个或某些个已接受(Accepted Keys)认证
  -D 删除所有已接受(Accepted Keys)认证
  -y 使用该参数可免去证书操作的交互,除非对minion端很信任,一般不建议使用
  -h 帮助
  master端操作:
salt-key -a 781915e2  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
781915e2
  
Proceed? y
  
Key for minion 781915e2 accepted.
  

  
salt-key -LAccepted Keys:#(接受认证的key)
  
781915e2
  
Denied Keys:
  
Unaccepted Keys:    #(没有接受认证的key)
  
Rejected Keys:
  2.自动认证
  在master端,/etc/salt/master取消注释:
auto_accept: True   #设置为自动接受  认证过程:
  Master 与 Minion 认证
  1.minion 在第一次启动时, 会在/etc/salt/pki/minion/ (该路径在/etc/salt/minion 里面
  设置) 下自动生成minion.pem(private key)和minion.pub(public key), 然后将minion.pub
  发送给 master。
  2.master 在接收到minion的public key后, 通过salt-key命令accept minion public key,

  这样在 master 的/etc/salt/pki/master/minions 下的将会存放以 minion>  key, 然后 master 就能对 minion 发送指令了。
  Master 与 Minion 的连接
  Saltstack master 启动后默认监听 4505 和 4506 两个端口。4505(publish_port)为 salt 的
  消息发布系统,4506(ret_port)为 salt 客户端与服务端通信的端口。如果使用 lsof 查看
  4505 端口,会发现所有的 Minion 在 4505 端口持续保持在 ESTABLISHED
  检查是否运行正常(如下说明正常):
salt '789880e2' test.ping  
781915e2
  
    True
页: [1]
查看完整版本: Saltstack-安装和简单部署