liuhongyu 发表于 2018-1-3 18:43:41

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/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
  

  salt-master 安装 : 仅需要在salt的master主机上安装
  

yum -y install salt-master  

  salt-minion 安装 :监控管理的机器上面安装该控制端
  

yum -y install salt-minion  

  配置SaltStack
  备注:根据需要选择配置下面的配置文件,这里因为是一个机器上面配置测试,所以两个文件都要配置。
  配置salt-master : /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 : /etc/salt/minion
  

# minion的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串  
id: 192.168.0.100
  

  
# salt运行的用户权限
  
user: root
  

  
# master的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
  
master : 192.168.0.100
  

  
# 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
  

  启动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 是使用python2的语言编写,对python3的兼容性不好,请使用python2的环境
  测试SaltStack
  接受salt-minion的认证请求
  

# salt-key  
Accepted Keys:
  
Unaccepted Keys:
  
192.168.0.100
  

  
# salt-key -y -a 192.168.0.100
  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
192.168.0.100
  
Key for minion 192.168.0.100 accepted.
  

  去除salt-minion的认证
  

## 如果觉得该minion不需要了,可以***  
# salt-key -y -d192.168.0.100
  
Deleting the following keys:
  
Accepted Keys:
  
192.168.0.100
  
Key for minion 192.168.0.100 deleted.
  

  备注: 更多的salt-key操作,会在另一个文章中说明
  开始测试saltstack
  

# salt '192.168.0.100' test.ping   --show-timeout  
192.168.0.100:
  
    True
  

  备注:如果返回true则成功,如果无结果,则说明连接为失败,可以检查防火墙是否开放了4506,4505端口,或是重启salt-minion再试试,有时候master跟minion版本不同的问题,也会导致连接失败
页: [1]
查看完整版本: SaltStack入门到精通第一篇:安装SaltStack