1、saltstack 和 ansible的区别

  • ansible无需安装客户端,而saltstack则需要安装客户端(其实也可以使用ssh模式)
  • ansible无法并行执行saltstack则可以并行执行

    2、saltstack的特点

  • 因为saltstack时基于python开发的C/S架构配置管理工具

  • 底层使用ZeroMQ消息队列pub/sub方式通信
  • 使用SSL证书签发的方式进行认证管理,传输采用AES加密

发布订阅模型

3、saltstack端口号

ret_port:4506 接受minion请求
publish_port:4507 发布消息

4、saltstack四大功能

  1. 远程执行
  2. 配置管理
  3. 云管理
  4. 被动执行(事件驱动,当达到某个值之后会自动触发)Reactor

    5、saltstack四大运行方式

  5. Local

  6. master/minion
  7. syndic(分布式)
  8. salt ssh

Grains:系统静态信息,包括操作系统,内存等系统属性
Pillar:用户自定义变量,存储在Salt Master中
salt -N 组匹配
salt -C 综合匹配

  1. [root@linux-node-01 ~]#salt -C 'G@os:CentOS or L@linux-node-02' test.ping
  2. linux-node-01:
  3. True
  4. linux-node-02:
  5. True

saltstack的认证机制

saltstack主控端是依靠openssl证书来与受控端主机认证通讯的,受控端启动后会发送给主控端一个公钥证书文件,在主控端用salt-key命令来管理证书。

master与minion的认证过程

minion在第一次启动时会在/etc/salt/下生成/pki/minion目录,并在下面创建minion.pem(私钥)和minion.pub(公钥),然后主动将minion.pub发送到master的/etc/salt/pki/master/minions.pre/下面,并且文件以minion的id文件内的数据命名,等待认证。在master上执行salt-key -L命令可以查看等待签证的minion。执行salt-key -A -y命令同意所有没有签证的minion。这时minion会在/etc/salt/pki/minion/下生成minion_master.pub文件,注这个是master的公钥文件。并且master会将/pki/master/minions.pre目录下的公钥转移到/pki/master/minions/目录下表示已经认证,这时master就可以管理minion了。