跳转到内容

salt安装

Salt 是一个基础设施管理工具,能够实现远程执行、配置管理和云管理等功能。它采用了高效的消息传递机制,使得在大规模环境中管理系统变得更加简单和高效。

首先安装 EPEL RPM 包:

Terminal window
rpm -ivh http://mirrors.sohu.com/fedora-epel/6Server/x86_64/epel-release-6-8.noarch.rpm

使用 yum 安装 salt-master:

Terminal window
yum install salt-master

编辑 Salt Master 配置文件(默认路径:/etc/salt/master):

Terminal window
# vi /etc/salt/master
interface: 10.0.2.15
file_roots:
base:
- /srv/salt/
dev:
- /srv/salt/dev/
prod:
- /srv/salt/prod/

创建以上目录并创建配置文件:

Terminal window
mkdir -p /srv/salt /srv/salt/dev /srv/salt/prod

编辑 Salt Minion 配置文件(默认路径:/etc/salt/minion):

Terminal window
master: saltmaster.minisite.com
id: test.minisite.com
# 这里最好配置在 hosts 中,尽量少用 IP 指定

在 Master 端查看 Minion 端证书并进行认证:

Terminal window
[root@MyCentOs salt]# salt-key -L
Accepted Keys:
Unaccepted Keys:
test.minisite.com
Rejected Keys:
[root@MyCentOs salt]# salt-key -a test.minisite.com

验证 Master 与 Minion 之间的通信:

Terminal window
[root@MyCentOs salt]# salt '*' test.ping
test.minisite.com:
True

推送最新配置到 Minion:

Terminal window
salt '*_web.minisite.com' state.highstate -v test=True

查看 grains 分类:

Terminal window
salt '*' grains.ls

查看 grains 所有信息:

Terminal window
salt '*' grains.items

查看 grains 某个信息:

Terminal window
salt '*' grains.item osrelease

默认的 state 只有在服务端调用的时候才执行,很多时候我们希望 Minion 自觉地去保持在某个状态:

Terminal window
# cat /srv/pillar/top.sls
base:
"*":
- schedule
# cat /srv/pillar/schedule.sls
schedule:
highstate:
function: state.highstate
minutes: 30
# 文档: http://docs.saltstack.com/topics/jobs/schedule.html

启动、停止或重启 Salt Master 服务:

Terminal window
service salt-master start|stop|restart