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

[经验分享] saltstack安装部署与入门使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-9-21 09:29:29 | 显示全部楼层 |阅读模式
一、saltstack简介
     SaltStack 一种基于 C/S 架构的服务器基础架构集中化管理平台,管理端称为 Master,客户端称为 Minion。SaltStack 具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建.
本文不以最新版安装部署,以CentOS6.8_x64 python2.6.6 环境中 在epel源中稳定的版本进行yum安装 。如需要安装最新版本下载地址(readhat/CentOS系)https://repo.saltstack.com/index.html#rhel

采用两台安装搭建基本的环境。一台做master/minion  一台minion
两台防火墙要么关闭 要么加上允许本地网段白名单类似 :-A INPUT -s 172.16.3.0/24 -j ACCEPT
关闭selinux.

二、安装
1,安装epel扩展源
#yum install epel-release -y

2、安装saltstack master
# yum install salt-master sat-minion -y
修改主配置文件/etc/salt/master 内容如下:
1
2
3
4
5
6
7
8
9
10
# cat master |egrep -v '(^$|^#)'
interface: 0.0.0.0                #侦听地址
file_roots:                       #文件根目录
  base:
    - /srv/salt

# cat minion |egrep -v '(^$|^#)'
default_include: minion.d/*.conf      
master: 127.0.0.1               #和master在同一台
id: minion_local                #标识




#service salt-master start
#service salt-minion start


2、安装minion(非master上)
#yum install epel-release -y
#yum install salt-minion -y
修改配置文件cat /etc/salt/minion
1
2
3
4
# cat minion |egrep -v '(^$|^#)'
default_include: minion.d/*.conf      
master: 172.16.3.147              #和master在同一台
id: minion_local                  #标识



#service salt-minion start

三、master上添加minion
如里在master配置文件中打开
auto_accept: True
则所有的minon 将会自动被认证加入。自行考量。本次是手工添加
#salt-key -L
如图:Unaccepted Keys:中出现两个等待授权认证的minon
wKioL1nCEWiSowNXAAJb7y-as6g870.png
#salt-key -A   
输入y
接受所有minion认证
再次salt-key -L 查看已授权的minion会就看到
#salt "*" test.ping   #查看所有的活动在线的minion
如图:
wKiom1nCEmXRdW64AAN4yHTphR8191.png

到此基本的saltstack  master /minion 环境部署完成
四、saltstack常用操作
除了上面的添加minon和测试minion在线情况外,还有一些其他的模拟提供一些常用操作;
1、salt语法
salt [客户端id,即目标,支持正规表达式] [模块名,如state,cmd。其实都是salt的模块] [动作]
如: salt "*" test.ping       这里的"*"就是匹配的目标,表示 所有minion   test是模块 ping是动作
目标有以下常用的五种形式:
指定目标主要有五种方式
     a)、Global,即salt默认的匹配方式,能识别终端常用的通配符,如*代表所有
            如,salt '*' test.ping
     b)、List,列表,需-L指定。
            如,salt -L 'minion_local,minion_152' test.ping 其中minion_local,minion_152
            是完整的minion_id
     c)、-E 正则表达式匹配
            如,salt -E 'pre[1-7]' test.ping 会匹配pre1,pre2..pre7,并且匹配到左右minion_id
            里面含有1-7的,如pre-11,pre7也会匹配到,如果只匹配1-7可使用参照下面
            如,salt -E ^pre[1-7]$ test.ping或者 salt pre[1-7] test.ping
     d)、-C 混合模式,里面可以既有正则表达式也有列表等
            salt -C "minion_* or test_minion" test.ping 匹配所有minion开头,或者test_minion id的
     e)、分组,需要-N指定,其中组名就是上面/etc/salt/master.d/groups.conf文件里面配置的
            配置信息。如,salt -N apache test.ping

2、常用模块
然后是模块,主要介绍state,cmd,cp模块
注:想了解某个模块的功能或者具体参数可以
salt \* sys.doc [模块名,如cmd]
a)、cmd模块
       salt '*' cmd.run "echo $HOSTNAME"      这里可以远程执行shell命令,执行结果会返回
       wKiom1nCGS-hwOb4AAD-R8HCSHM305.png
b)、文件上传与下载
        salt "minion_152"  cp.get_file  salt://files/test.txt /tmp/test.txt
        将/srv/salt/files/test.txt  推送到minion_152 /tmp/下也叫test.txt
          wKioL1nCGWPx1eBuAAC1FuBkmro882.png
         到minion_152 tmp目录下查看
       wKioL1nCGgrhgDULAAC42ritap4031.png

       同理可以通过 cp.push从minion上下载文件
        需要修改master中的   file_recv: True
       salt "minion_152" cp.push  /etc/fstab       #默认下到本地
                        /var/cache/salt/master/minions/minion-id/files目录
          wKiom1nCG_HgJEWIAAG_UhPyHl8141.png
其他的模块主参考官方文档。这里不再多说

运维网声明 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-404820-1-1.html 上篇帖子: saltstack "ImportError: No module named salt.scripts"错误解决 下篇帖子: Saltstack批量编译部署nginx(多模块)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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