saltsatck安装
实在是厌倦了对大量服务器日复一日的重复操作。尤其是在虚拟化的时代,系统的每个组件都有很多个相同的节点在运行,更让重复的次数再乘以N。 当我发现Salt的时候,我的眼前一亮:这正是我所需要的东西。安装管理端(master)
# 安装EPEL,注意选择合适的版本
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
# 安装master
yum install salt-master
# 修改配置
vim /etc/salt/master
# 最基本的设定服务端监听的IP(比如使用VIP做master的高可用时):
# interface: 服务端监听IP
# 其他配置参考 http://docs.saltstack.com/ref/configuration/master.html
# 启动服务(以下命令等效)
salt-master -d
/etc/init.d/salt-master start
service salt-master start
安装被管理端(minion)
# 安装EPEL,注意选择合适的版本
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
# 安装minion
yum install salt-minion
# 修改配置
vim /etc/salt/minion
# 最基本的设定是指定master地址,以及本机标识符:
# master: master的主机名或IP地址
# id: 本机标识符
# 添加ID时注意中间需要有空格
# 启动服务(以下命令等效)
salt-minion -d
/etc/init.d/salt-minion start
service salt-minion start
接受minion的托管请求
minion向master投诚后,还需要master接受才行。这个过程叫做“授信”。
Salt底层使用公钥-私钥证书来保证通信信道的安全。具体的机制可以参考ZeroMQ的相关内容。Salt已经屏蔽了底层的细节,只需要使用封装好的命令:
# 在master上运行
# 查看所有minion
salt-key -L
Accepted Keys:
windows
bond_app_server_main
mac_os_vm
salt-master
Unaccepted Keys:
minion1
minion2
Rejected Keys:
其中Unaccepted Keys是未许可的minion。可以使用下面的命令通过认证:
salt-key -a minion1
测试
安装配置好之后,首先要测试一下联通性:salt '*' test.ping。salt会列出每个认证过的minion的联通状态(true 或 false)。
再举一些例子:
# 查询主机运行了多长时间
sudo salt '*' cmd.run "uptime"
# 批量重启服务
salt '*' cmd.run "service httpd restart"
# 让多台机器一起,使用Apache Bench进行压力测试
salt '*' cmd.run "ab -n 10 -c 2 http://www.google.com/"
注意,默认情况下master和minion之间使用以下端口进行通信:
4505(publish_port): salt的消息发布系统
4506(ret_port):salt客户端与服务端通信的端口
网络的设置需要保证这些端口可以访问。
页:
[1]