设为首页 收藏本站
查看: 1308|回复: 0

[经验分享] saltstack入门介绍

[复制链接]

尚未签到

发表于 2018-8-1 06:17:53 | 显示全部楼层 |阅读模式
  一、基础概念及原理

  SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。minion上线后先与master端联系,把自己的pub key发过去,这时master端通过salt-key -L命令就会看到minion的key,接受该minion-key后,也就是master与minion已经互信
  二、安装:
  准备工作:
  1.安装EPEL: rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
  2.设置域名hosts文件#(当然可以直接使用IP)
cat /etc/hosts  192.168.2.81 test81.salt.cn
  192.168.2.82 test82.salt.cn
  192.168.2.83 test83.salt.cn
  Master:192.168.2.81
  Minion:192.168.2.82,192.168.2.83
  Master端:
  yum install salt-master
  配置文件:/etc/salt/master
端口:  4505(publish_port):salt 的消息发布系统
  4506(ret_port):salt 客户端与服务端通信的端口
  启动:
  /etc/init.d/salt-master start
  Minion端:
  yum install salt-minion
  配置文件:/etc/salt/minion
  master: 服务端主机名
  id: 客户端主机名
  配置文件注意格式统一
master:test81.salt.cn  id:test82.salt.cn
  启动服务:
  /etc/init.d/salt-minion  start
  三、认证
  和puppet一样, salt 的 master 和 minions 是通过证书通信的,故存在证书的信任颁发问题。
  在master端:salt-key -L 查看当前需要接受的keys(master和minions都需要把服务开启)

salt-key -a test82.salt.cn  接受test82.kktalk.cn的证书

salt-key -A  #接受所有请求的证书  如果对客户端信任,可以让master自动接受请求,在master端/etc/salt/master配置
auto_accept: True  检测Master与两个Minion通讯是否正常:

  出现 True 说明服务端到客户端通信正常,基础环境搭建成功。
  四、简单例子
  在minions端安装httpd
  配置  /etc/salt/master文件:
  #file_roots   Saltstack相关配置文件全部都在这个目录下
file_roots:  base:
  - /srv/salt
  dev:
  - /srv/salt/dev
  默认没有这个目录,需要创建 创建目录mkdir -p  /srv/salt
  Saltstack必须要有入口文件: /srv/salt/top.sls
  Saltstack使用salt state system,它的核心是写sls(SaLt State file)文件,sls文件默认格式是YAML格式(以后会支持XML),并默认使用jinja模板,YAML与XML类似,是一种简单的适合用来传输数据的格式,而jinja是根据django的模板语言发展而来的语言,简单并强大,支持for if 等循环判断。salt state主要用来描述系统,软性,服务,配置文件应该出于的状态,常常被称为配置管理!
  通常state,pillar,top file会用sls文件来编写。state文件默认是放在/srv/salt中,它与你的master配置文件中的file_roots设置有关
  注意:sls遵从YAML规范, 它使用到两个空格代替tab,: 或 – 后面要有空格。(这里被坑过)
[root@test81 salt]# cat top.sls  base:   #file_roots定义base  '*':    #匹配所有主机
  - dev.http   #这里调用/srv/salt/dev/目录下面的http.sls文件

  sls文件写好以后,在master执行命令 salt “test82.salt.cn” state.highstate

  出现Failed:0,表示执行成功(我上图是已经执行成功过,再次执行)
  在minions查看
[root@test82 ~]# rpm -qa|grep httpd  httpd-2.2.15-29.el6.centos.x86_64
  httpd-tools-2.2.15-29.el6.centos.x86_64
  httpd包已经安装成功
  如果要在minions端执行,需要执行命令:   salt-call state.highstate
  转自:http://blog.cunss.com/?p=255
  官方文档:https://docs.saltstack.com/en/latest/topics/index.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544351-1-1.html 上篇帖子: saltstack-imperialzhang 下篇帖子: saltstack minion端状态监控程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表