六:Saltstack之十八:Salt架构之无Master与多Master

阅读(1,029)

一:无master的saltstack环境:

#无master即独立运行salt使用salt-call命令独自执行,不接收salt指令,不发布salt消息,与世隔绝,与人无争

1.1:关闭salt-minion服务,无master架构不需要接收master指令,因此也不需要minion服务进程存在

1.2:修改minion的配置文件:

grains:  #定义grains的目录,也可以定义pillar信息
  roles:
    - webserver
    - memcache
  name: apache
file_client: local #默认为remote,即远程master
file_roots: #高级状态的目录
  base:
    - /srv/salt/base

1.3:编写top.sls高级状态文件:

# vim /srv/salt/base/top.sls

base: #base环境
  "*": #匹配的minion
    - sysinit.test #调用sysinit下的test状态文件

1.4:编写test目录:

# vim  /srv/salt/base/sysinit/test.sls

system-init: #ID名称
  cmd.run: #执行cmd模块的run方法
    - name: pwd && echo 123 #run方法的参数,是执行的具体shell命令

1.5:执行高级状态:

# salt-call  –local state.highstate

二:多master(Mutil-Master)架构:

2.1:新安装一台master,主要考虑master之间的数据存储,如master和minion的key要同步,经过认证的minion的key会放在master端的/etc/salt/pki/master/minions的目录,里面保存的是minion端的公钥,master端的公钥和私钥要保持一致,然后在各master之间同步minion的key,一种方案是在一个master授权minion的key,然后将key的目录和grains及pillar的目录通过nfs共享,然后其他master挂载此nfs共享目录即可,另外一种方案salt的key要提交到key或者svn进行备份,这样适合小环境,即使master出现问题也可以快速部署另外一台master再把key从git或svn换还原到另外一台master即可。

2.2:多master的配置方法:

# vim /etc/salt/minion

 17 master:
 18   - 192.168.10.101
 19   - 192.168.10.102

Warning: count(): Parameter must be an array or an object that implements Countable in /home/nginx/wordpress/wp-includes/class-wp-comment-query.php on line 405

发表评论

邮箱地址不会被公开。 必填项已用*标注