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

[经验分享] SaltStack学习笔记

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-16 08:34:13 | 显示全部楼层 |阅读模式
一、安装部署

       实验环境:
       Server : 192.168.0.41
       Client-1: 192.168.0.42
       Client-2: 192.168.0.43
       1、安装epel源。
         rpm -Uvh http://mirrors.sohu.com/fedora-e ... ease-6-8.noarch.rpm
       2. 服务端安装salt-master,客户端安装salt-minion
         
       wKiom1ZImBrz7dhgAABxCOjZ3Eg819.jpg
       wKioL1ZImGmAeAkmAABM9ur4gQk411.jpg

       3. 修改客户端配置文件/etc/salt/minion
          修改两个参数
          wKiom1ZIm9CQrmeNAAAJTb_z2Ls530.jpg    如不修改将使用默认值,分别为salt和自身主机名,需要将服务端主机名和IP写入到hosts文件
       wKiom1ZIm9GjBrvGAAAgP_WFoYg679.jpg
     4. 服务端启动服务
            /etc/init.d/salt-master start
          wKioL1ZInNKAWU-HAAAl_2zgOOc975.jpg

     5. 客户端启动服务
           /etc/init.d/salt-minion start
            wKiom1ZInS2zKZfZAAArXBbdvT0560.jpg


       6. 测试:配置/etc/salt/master文件 将log_level设置成debug,再看/var/log/master,看SALT的详细启动过程。
          wKioL1ZInqySogbeAAAYqe__ma0352.jpg


二、实战
       1、添加KEY授权
             wKiom1ZIqBySB6p8AADNQBMPDWg885.jpg


       2、实测命令:
            
       wKioL1ZIqOOzBTiAAAAXsS-7CSs708.jpg
       wKiom1ZIqJWQPCLvAAAZ0x5diLk183.jpg


       3、实测命令:
            1. 工作中遇到主机名问题导致服务连接不了怎么办?
                删除/etc/salt/minion_id文件和pki/目录重启服务即可
                或者用salt-key -d删除该机器即可
            2. 如何在不停止minion服务的情况下来迁移master到更高性能的机器?
                解决方案原理:
                a、将旧master上所有的key复制到新master,保持所有key不变,保证minion服务不会关闭。
                b、将minion机器配置文件里的server改为新master。
wKioL1ZIxGfQUqkaAAMOIRqExTc995.jpg
wKiom1ZIxBmi4EoyAAKRowYF7J4309.jpg
             wKioL1ZIw-yhijv7AAB_UvqcZPw743.jpg
       3、SaltStack内置返回接口:
             wKiom1ZIxVuTkQy9AACKnBKulVo002.jpg
            1. 将return结果存入MySQL数据库,需要在minion客户端配置/etc/salt/minion配置文件,设置MySQL账号信息。
                注意:该方式需在minion端安装python的mysql模块!
                wKioL1ZIyvniUlPYAAATztHQXyE072.jpg
                配置文件添加参数:               
################################################
# MySQL-Return Paragram by asling on 2015-11-16
#

mysql.host:'192.168.0.90'
mysql.user:'salt'
mysql.pass:'123456'
mysql.db:'saltstack'
mysql.port:3306
#
################################################
         wKiom1ZIyenDJZWZAABdJLDfK0k347.jpg       

           2 MySQL服务器建库建表,使用以下建表语句:
            
CREATE TABLE `jids` (
    ->       `jid` varchar(255) NOT NULL,
    ->       `load` mediumtext NOT NULL,
    ->       UNIQUE KEY `jid` (`jid`)
    ->     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `salt_returns` (
    ->       `fun` varchar(50) NOT NULL,
    ->       `jid` varchar(255) NOT NULL,
    ->       `return` mediumtext NOT NULL,
    ->       `id` varchar(255) NOT NULL,
    ->       `success` varchar(10) NOT NULL,
    ->       `full_ret` mediumtext NOT NULL,
    ->       KEY `id` (`id`),
    ->       KEY `jid` (`jid`),
    ->       KEY `fun` (`fun`)
    ->     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

wKiom1ZI0E3y4HMtAAC4W8U5-FM027.jpg

            3. Python导入MYSQL模块
                python
                >>> import MySQLdb
                >>> exit()
            4. minion端测试看MySQL结果。
            
wKiom1ZI0M_iRezRAACtJYpz4kk555.jpg
wKiom1ZI0NHCoyXcAAMeAp7K8gk492.jpg




       4、SaltStack分组
参考 SaltStack 的官方文档 4.4 Compound matchers 和 4.3. Node groups 知道,对目标服务器分组有以下七种方式,这七种方式的标示符分别为:
  • G -- 针对 Grains 做单个匹配,例如:G@os:Ubuntu
  • E -- 针对 minion 针对正则表达式做匹配,例如:E@web\d+.(dev|qa|prod).loc
  • P -- 针对 Grains 做正则表达式匹配,例如:P@os:(RedHat|Fedora|CentOS)
  • L -- 针对 minion 做列表匹配,例如:L@minion1.example.com,minion3.domain.com or bl*.domain.com
  • I -- 针对 Pillar 做单个匹配,例如:I@pdata:foobar
  • S -- 针对子网或是 IP 做匹配,例如:S@192.168.1.0/24 or S@192.168.1.100
  • R -- 针对客户端范围做匹配,例如: R@%foo.bar

wKiom1ZI11DCI5bqAAA37bFwLec690.jpg
           实测:

            wKiom1ZI2jDQGfO0AAA8rLgVkLY698.jpg
       wKioL1ZI2uHxZEszAAA7jZYHEr0158.jpg

       4、SaltStack模块
           见附件!



       5、SaltStack文件系统
             wKioL1ZI5h3QOmctAABeoIr2oas667.jpg
             wKioL1ZI6fuxJesPAABT_WHZ_oM826.jpg
wKiom1ZI6jqBgPm0AADhxvjCg_A972.jpg

         wKioL1ZI7SDhLbUyAAC6mM7rh7g826.jpg         




              
            
         



SaltStack模块PDF.pdf

805.76 KB, 下载次数: 0

SaltStack模块DOCX.docx

183.56 KB, 下载次数: 0


运维网声明 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-139670-1-1.html 上篇帖子: saltstack 安装部署及ntp服务批量部署过程实例 下篇帖子: saltstack 的web平台搭建(1)---初始化安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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