共计 4740 个字符,预计需要花费 12 分钟才能阅读完成。
SaltStack 是 (C/S) 架构的集中化管理平台,SaltStack 基于 Python 语言,采用 zeromq 消息队列进行通信 (tcp,ipc)。
一、基础环境
1、角色、ip、版本、内核
masterA 10.1.10.117 3.2.0-4-amd64 7.8 master
minionB 10.1.10.185 3.2.0-4-amd64 7.8 minion
2、安装依赖包
apt-get -y install python python-dateutil python-jinja2 python-apt python-yaml python-pkg-resources python-six ca-certificates python-chardet openssl python-m2crypto python-crypto msgpack-python python-zmq python-support libgmp10 python-git python-gitdb git libjs-jquery libzmq1 libcurl3-gnutls perl-modules liberror-perl git-man dctrl-tools
二、安装 saltstack(masterA)
1、安装 salt-master
dpkg -i python-urllib3_1.7.1-1~bpo70+1_all.deb
dpkg -i python-requests_2.0.0-1~bpo70+1_all.deb
dpkg -i salt-common_2015.5.3+ds-1~bpo70+2_all.deb
dpkg -i libzmq3_3.2.3+dfsg-1~bpo70~dst+1_amd64.deb
dpkg -i python-zmq_13.1.0-1~bpo70~dst+1_amd64.deb
dpkg -i salt-master_2015.5.3+ds-1~bpo70+2_all.deb
PS: 我这里是通过其他机器先添加源下载 deb 包
deb http://debian.saltstack.com/debian wheezy-saltstack main
wget -q -O – “http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key” | apt-key add –
2、配置
1) 备份下配置
cp /etc/salt/master /etc/salt/master.bak
2)echo “default_include: master.d/*.conf” >> /etc/salt/master
3) 添加以下内容
cat /etc/salt/master.d/master.conf
interface: 10.1.10.117
publish_port: 4505
ret_port: 4506
pidfile: /var/run/salt-master.pid
sock_dir: /var/run/salt/master
log_file: /var/log/salt/master
key_logfile: /var/log/salt/key
3、重启服务
/etc/init.d/salt-master restart
[ok] Restarting salt master control daemon: salt-master.
4、查看端口和进程
1) 查看进程
ps -ef |grep salt
root 9078 1 0 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9079 9078 3 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9080 9078 0 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9081 9078 0 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9086 9078 0 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9087 9086 5 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9088 9086 4 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9093 9086 5 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9094 9086 5 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9099 9086 4 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
root 9100 9086 0 14:18 ? 00:00:00 /usr/bin/python /usr/bin/salt-master -d
2) 查看端口
netstat -tupnl |grep python
tcp 0 0 10.1.10.117:4505 0.0.0.0:* LISTEN 9517/python
tcp 0 0 10.1.10.117:4506 0.0.0.0:* LISTEN 9539/python
三、安装 saltstack(minionB)
1、安装 salt-minion 包
dpkg -i python-urllib3_1.7.1-1~bpo70+1_all.deb
dpkg -i python-requests_2.0.0-1~bpo70+1_all.deb
dpkg -i salt-common_2015.5.3+ds-1~bpo70+2_all.deb
dpkg -i libzmq3_3.2.3+dfsg-1~bpo70~dst+1_amd64.deb
dpkg -i python-zmq_13.1.0-1~bpo70~dst+1_amd64.deb
dpkg -i salt-minion_2015.5.3+ds-1~bpo70+2_all.deb
2、配置
1) 备份下配置
cp /etc/salt/minion /etc/salt/minion.bak
2)echo “default_include: minion.d/*.conf” >> /etc/salt/minion
3) 添加以下内容
cat /etc/salt/minion.d/minion.conf
master: 10.1.10.117
id: 10.1.10.185
3、重启服务
/etc/init.d/salt-minion restart
[ok] Restarting salt minion control daemon: salt-minion.
4、查看进程
ps -ef |grep min
root 8135 1 0 14:27 ? 00:00:00 /usr/bin/python /usr/bin/salt-minion -d
5、使用 salt-minion 命令测试
salt-minion -l debug
[DEBUG] Reading configuration from /etc/salt/minion
[DEBUG] Including configuration from ‘/etc/salt/minion.d/minion.conf’
[DEBUG] Reading configuration from /etc/salt/minion.d/minion.conf
[DEBUG] Configuration file path: /etc/salt/minion
[INFO] Setting up the Salt Minion “10.1.10.185”
[DEBUG] Created pidfile: /var/run/salt-minion.pid
[DEBUG] Reading configuration from /etc/salt/minion
[DEBUG] Including configuration from ‘/etc/salt/minion.d/minion.conf’
[DEBUG] Reading configuration from /etc/salt/minion.d/minion.conf
[DEBUG] Attempting to authenticate with the Salt Master at 10.1.10.117
[DEBUG] Initializing new SAuth for (‘/etc/salt/pki/minion’, ‘10.1.10.185’, ‘tcp://10.1.10.117:4506’)
[ERROR] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
[INFO] Waiting 10 seconds before retry.
[ERROR] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
[INFO] Waiting 10 seconds before retry.
[ERROR] The Salt Master has cached the public key for this node, this salt minion will wait for 10 seconds before attempting to re-authenticate
[INFO] Waiting 10 seconds before retry.
四、签名并测试
1、查看到 10.1.10.185 还没验证通过
salt-key list
Accepted Keys:
Denied Keys:
Unaccepted Keys:
10.1.10.185
Rejected Keys:
2、验证通过
salt-key -a 10.1.10.185
The following keys are going to be accepted:
Unaccepted Keys:
10.1.10.185
Proceed? [n/Y] y
Key for minion 10.1.10.185 accepted.
3、查看下,已经通过验证
salt-key list
Accepted Keys:
10.1.10.185
Denied Keys:
Unaccepted Keys:
Rejected Keys:
五、测试
1、cat 1.txt
10.1.10.185
2、salt `cat 1.txt` cmd.run ‘uptime’
10.1.10.185:
16:07:42 up 36 min, 2 users, load average: 0.00, 0.01, 0.05
已经能看到 minion 端的 uptime 信息了
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/123769.htm