1、masterless
官方文档: http://docs.saltstack.cn/topics/tutorials/quickstart.html
1.在项目中使用salt,写一个state,salt自动帮你配置ok
2.没有master情况,使用salt,比如mac笔记本
3.本地运行state,一台服务器怎样用salt
场景: 2w台门店的电脑,网络不稳定
用master minion,一天只能连接几十台
解决:salt-call,连接一次,下发所有的计划任务,自己去跑
执行状态
恢复node2
2、master高可用
官方文档 http://docs.saltstack.cn/topics/tutorials/multimaster.html
高可用
master是单点的,万一1个挂了,启动备份的
node2装master
配置文件肯定是一样的
数据怎么同步
数据同步要自己来做
master-key同步
minion-key同步
file roots
piliar roots 同步
配置文件同步
简便方法。搞个fs,去mount,官方不建议
key比较重要,
mount,老师是
复原node2
其他配置
告诉minion是多个master的
超时时间
3、执行模块
service模块
自定义模块
路径,_modules,不能修改
同步到minion
执行
4、syndic架构
管理上万个minion
多层syndic
node2 装master
node1 装 sydic
node1配置
master和syndic在同一个机器,同一个配置文件
node2
启动
node2执行 salt-key
蒋先生node2接受陈浩南node1
这是,陈浩南node1管理下的2个minion小弟
syndic其实是特殊的minion
涉及到文件的同步,不涉及到key
有点:可以创建多层级的
缺点,涉及到数据同步
master不知道自己有多少个sydic (代码设计模式中,不知道)
不是特别的完美
其他公司:
1. 用消息队列,代替syndic,agent和master中间加个消息队列。像OpenStack
2. 调优,网络稳定时候可以用
3. 做多个集群,分而治之
一个master管理的minion是有限的
5、salt-api
python client api
必须运行在master节点上
一般的话,用netapi
基于restful协议的api
官方文档:
http://docs.saltstack.cn/ref/netapi/all/index.html#all-netapi-modules
默认 rest_cherrypy
轻量级的web小框架
tornado不全
wsgi
只支持https,自己做,自签名一个
需要验证,
rest-cherrypy
http://docs.saltstack.cn/ref/netapi/all/salt.netapi.rest_cherrypy.html
1.安装 salt-api
2.本地执行模块,创建了个自签名证书
签名,自签名 or 官方给的命令
3写对应的配置文件
要创建
可以指定ip,有多个ip地址怎么办,该机器
验证的
-M 无家目录
-s /sbin/login 只是用这个saltapi,不登录
批量改密码
扩展认证
启动
8000端口调用salt
grains
列出所有的jobs
查看指定job