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

[经验分享] CentOS 安装Saltstack

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-28 10:17:59 | 显示全部楼层 |阅读模式
saltstack 和 Puppet Chef 一样可以让你同时在多台服务器上执行命令也包括安装和配置软件。

Salt 有两个主要的功能:配置管理和远程执行。
Salt 是:
  • 一个配置管理系统,能够维护预定义状态的远程节点(比如,确保指定的报被安装,指定的服务在运行)
  • 一个分布式远程执行系统,用来在远程节点(可以是单个节点,也可以是任意规则挑选出来的节点)上执行命令和查询数据


实验环境
Salt master Server and Salt minion client 各一台。
Salt master server :
OS : Centos5.6
IP: 192.168.2.121
Salt minion client
OS : Centos6.3
IP: 192.168.2.137

准备工作:
epel安装:salt安装需要epel源支持,所以在安装salt前需要先安装epel包
EPEL的全称叫 Extra Packages for Enterprise Linux
EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
# centos5 下载下面rpm
wget –O epel.rpm https://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
# centos 6 下载下面rpm
wget -O epel.rpm http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
## 安装epel
rpm -Uvh epel.rpm

开始安装
1. salt-master 安装 : 仅需要在salt的master主机上安装
     #yum –y install salt-master
     系统将自动下载并安装,安装完成后会显示 Complete!
2. salt-minion 安装 :监控管理的机器上面安装该控制端
   #yum -y install salt-minion
3.配置SaltStack  master 和 minion 分别都要配置
配置salt-master :
#vi /etc/salt/master
############################################################
# salt运行的用户,影响到salt的执行权限
user: root
#s alt的运行线程,开的线程越多一般处理的速度越快,但一般不要超过CPU的个数
worker_threads: 10
# master的管理端口
publish_port : 4505
# master跟minion的通讯端口,用于文件服务,认证,接受返回结果等
ret_port : 4506
# 如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级master的监听端口
syndic_master_port : 4506
# 指定pid文件位置
pidfile: /var/run/salt-master.pid
# saltstack 可以控制的文件系统的开始位置
root_dir: /
# 日志文件地址
log_file: /var/log/salt_master.log
# 分组设置 * 代表通配符
nodegroups:
group_all: '*'
# salt state执行时候的根目录
file_roots:
base:
- /etc/salt/file
# 设置pillar 的根目录
pillar_roots:
base:
- /etc/salt/pillar
############################################################
配置salt-minion :
#vi /etc/salt/minion
############################################################
# minion的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
id: 192.168.2.137
# salt运行的用户权限
user: root
# master的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
master : 192.168.2.121
# master通讯端口
master_port: 4506
# 备份模式,minion是本地备份,当进行文件管理时的文件备份模式
backup_mode: minion
# 执行salt-call时候的输出方式
output: nested
# minion等待master接受认证的时间
acceptance_wait_time: 10
# 失败重连次数,0表示无限次,非零会不断尝试到设置值后停止尝试
acceptance_wait_time_max: 0
# 重新认证延迟时间,可以避免因为master的key改变导致minion需要重新认证的syn风暴
random_reauth_delay: 60
# 日志文件位置
log_file: /var/logs/salt_minion.log
# 文件路径基本位置
file_roots:
base:
- /etc/salt/minion/file
# pillar基本位置
pillar_roots:
base:
- /data/salt/minion/pillar
############################################################
检查修改配置文件的内容:
#sed -e '/^#/d;/^$/d' /etc/salt/master

启动SaltStack
# 启动master
service salt-master restart
# 启动minion
service salt-minion restart

# 也可以使用下面的启动方式
/usr/bin/python2.6 /usr/bin/salt-master -d
/usr/bin/python2.6 /usr/bin/salt-minion –d
测试SaltStack
接受salt-minion的认证请求
salt-key -L # 用来查看证书情况
[iyunv@salt-master ~]# salt-key   
Accepted Keys:   
192.168.2.137   
Unaccepted Keys:   
CentOS6.3_Salt_minion   
Rejected Keys:
[iyunv@salt-master ~]# salt-key -y -a 192.168.2.137   
The following keys are going to be accepted:   
Unaccepted Keys:   
192.168.2.137   
Key for minion 192.168.2.137 accepted.

去除salt-minion的认证
1.## 如果觉得该minion不需要了,可以***
[iyunv@salt-master ~]# salt-key -y -d 192.168.2.137   
Deleting the following keys:   
Accepted Keys:   
192.168.2.137   
Key for minion 192.168.2.137 deleted.
如果需重新认证,把minion 服务重启下,再执行接受认证请求就可以了

现在可以测试一下saltstack master 与 minion 的通讯了
在master端执行:
[iyunv@salt-master ~]# salt '192.168.2.137' test.ping --show-timeout   
192.168.2.137:   
    True   
[iyunv@salt-master ~]# salt -N 'xd' test.ping --show-timeout   
192.168.2.137:   
    True
能够反回 True 表示执行完成
也可以执行命令测试
[iyunv@salt-master ~]# salt -N 'xd' cmd.run "ping -c 4 baidu.com"  
192.168.2.137:   
    PING baidu.com (123.125.114.144) 56(84) bytes of data.   
    64 bytes from 123.125.114.144: icmp_seq=1 ttl=56 time=1.17 ms   
    64 bytes from 123.125.114.144: icmp_seq=2 ttl=56 time=1.12 ms   
    64 bytes from 123.125.114.144: icmp_seq=3 ttl=56 time=0.992 ms   
    64 bytes from 123.125.114.144: icmp_seq=4 ttl=56 time=0.933 ms   
    --- baidu.com ping statistics ---   
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms   
    rtt min/avg/max/mdev = 0.933/1.056/1.174/0.097 ms   
[iyunv@salt-master ~]#

关于修复阿里云Linux Bash漏洞方法
[iyunv@salt-master ~]# salt -N 'xd' cmd.run "yum -y update bash"   
192.168.2.137:   
    Loaded plugins: fastestmirror, security   
    Loading mirror speeds from cached hostfile   
     * epel: mirrors.yun-idc.com   
     * rpmforge: apt.sw.be   
    Setting up Update Process   
    Resolving Dependencies   
    --> Running transaction check   
    ---> Package bash.x86_64 0:4.1.2-9.el6_2 will be updated   
    ---> Package bash.x86_64 0:4.1.2-15.el6_5.1 will be an update   
    --> Finished Dependency Resolution   
    Dependencies Resolved   
    ================================================================================   
     Package       Arch            Version                   Repository        Size   
    ================================================================================   
    Updating:   
     bash          x86_64          4.1.2-15.el6_5.1          updates          905 k   
    Transaction Summary   
    ================================================================================   
    Upgrade       1 Package(s)   
    Total download size: 905 k   
    Downloading Packages:   
    Running rpm_check_debug   
    Running Transaction Test   
    Transaction Test Succeeded   
    Running Transaction   
  Updating   : bash-4.1.2-15.el6_5.1.x86_64                                 1/2     
  Cleanup    : bash-4.1.2-9.el6_2.x86_64                                    2/2     
  Verifying  : bash-4.1.2-15.el6_5.1.x86_64                                 1/2     
  Verifying  : bash-4.1.2-9.el6_2.x86_64                                    2/2     
    Updated:   
      bash.x86_64 0:4.1.2-15.el6_5.1                                                
    Complete!



运维网声明 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-25480-1-1.html 上篇帖子: 自动化运维工具Saltstack详细介绍 下篇帖子: saltstack之用户管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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