CentOS 安装Saltstack

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 # 用来查看证书情况

[[email protected] ~]# salt-key    
Accepted Keys:    
192.168.2.137    
Unaccepted Keys:    
CentOS6.3_Salt_minion    
Rejected Keys:

[[email protected] ~]# 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不需要了,可以***

[[email protected] ~]# 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端执行:

[[email protected] ~]# salt ‘192.168.2.137‘ test.ping --show-timeout  
192.168.2.137:    
    True    
[[email protected] ~]# salt -N ‘xd‘ test.ping --show-timeout    
192.168.2.137:    
    True

能够反回 True 表示执行完成

也可以执行命令测试

[[email protected] ~]# 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    
[[email protected] ~]#

关于修复阿里云Linux Bash漏洞方法

[[email protected] ~]# 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!

参考:

http://docs.saltstack.com/en/latest/contents.html

http://docs.saltstack.cn/contents.html

http://www.it165.net/os/html/201406/8507.html

http://www.open-open.com/lib/view/open1386665335876.html

http://jingyan.baidu.com/article/d3b74d64d210721f77e609ec.html

时间: 2024-10-13 23:19:52

CentOS 安装Saltstack的相关文章

centos安装saltstack

第1章 环境 Centos7 系统 Python版本没有做过升级 主机名  注意hosts文件做解析.Saltstack是可以按主机名来做远程执行的 防火墙关关闭 配置阿里云epel源 主机:说明 saltstack-master 192.168.0.56(管理节点) saltstack-minion 192.168.0.57(控制节点) saltstack-minion 192.168.0.58(控制节点) saltstack-minion 192.168.0.59(控制节点) 第2章 安装

centos系统安装saltstack安装

CentOS 5系统安装saltstack安装 最近公司有一些新需求,需要部署一些saltstack来管理部分服务器.所以最近研究了一下saltstack的安装和部署. 说实话,如果你用的是CentOS 6以上的系统的话那就不用看我这篇文章了,因为6的系统上可以直接使用epel软件源,用yum的方式来安装,只要在服务端装个salt-master,在被管理节点装个salt-minion就OK了,安装简直不能再方便了. 但是,如果要是这么简单就处理了这个问题的话我也就不用写这篇文章了,毕竟理想总是不

SaltStack(一)-- SaltStack介绍及CentOS 6.7安装SaltStack

一.SaltStack介绍 SaltStack是一个开源Apache 2.0 license的基于Python开发的配置管理系统及分布式远程执行工具. Salt有local.Master/Minion.Salt SSH三种工作模式可以适用不同的使用环境.通常采用master/minion模式这种模式扩展方便部署灵活支持单IDC部署及跨IDC部署单个Master最好管理小于1000台minion可以采用Sydnic进行扩展. Salt采用ZeroMQ保证命令发送到远程系统是并行而非串行.使用公钥和

centos 7.4 x86 安装saltstack

安装saltstack 基本是很简单的了.一直yum安装就好了,但是这次遇到了一些坑,记录一下,以后避免.环境: centos 7.4 x86 python2.7.5 主控端yum -y install salt-master一直安装就好了.如果提示没有包,下载一个saltstack源就好了.在主控端安装salt-api.如果一直yum安装,yum -y install salt-api因为salt-api是基于CherryPy框架开发的.它会安装一个python-cherrypy依赖包.安装完

SaltStack 入门到精通 - 第一篇: 安装SaltStack

实际环境的设定: 系统环境: centos6 或centos5 实验机器: 192.168.1.100 软件需求: salt 套件,及其需求环境 实验目的: 成功安装salt,并实现salt主从间通讯 特殊设置: 其它目的: 安装SaltStack(下面简称为salt) epel安装:salt安装需要epel源支持,所以在安装salt前需要先安装epel包 # centos5 下载下面rpm  wget -O    epel.rpm https://dl.fedoraproject.org/pu

初始saltstack在之CentOS6上安装Saltstack

系统环境: [[email protected]_server home]# ifconfig eth0 | grep "inet addr:" | awk -F: '{print $2}' | awk '{print $1}'     192.168.100.228     [[email protected]_server home]# cat /etc/redhat-release      CentOS release 6.3 (Final)     [[email prote

纪念第一次安装saltstack

2016-08-19 纪念第一次安装saltstack,因为走了好多弯路,必须记下来... 1.安装salt源 rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm 或 wget http://dl.cpis-opt.com/huanw/shencan/epel-release-5-4.noarch.rpm && rpm -vih epel-release-5-4.noarch.r

CentOS 安装redis 2.8.7

波折了好几下才装上 1.下载 wget http://download.redis.io/releases/redis-2.8.7.tar.gz 下载后的文件在当前目录里 redis-2.8.7.tar.gz 2.编译安装 tar xf redis-2.8.7.tar.gz cd redis-2.8.7 make make install 如果没有安装gcc的话会提示gcc not found 于是就需要安装一下gcc: yum -y install gcc 因为刚开始把yum的源换成163的了

centos安装gearman

centos安装gearman post by rocdk890 / 2012-8-4 1:11 Saturday linux技术 发表评论 今天公司让我在服务器上安装gearman,服务器环境是lamp,那gearman是什么?其实这个gearman是一个处理分布式过程通信的健壮系统.它提供了一个通用的应用程序框架,主要用来把任务转发给到其他机器或进程.使用Gearman 能让程序实现并行工作.负载均衡和跨语言调用.它能够用于不同类型的应用程序,从高可用的web站点到数据库复制传输. 系统:c