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客户端与服务端通信的端口

网络的设置需要保证这些端口可以访问。


如有疑问请联系QQ:403182580

参考文档:http://www.saltstack.cn/projects/cssug-kb/wiki/Salt_intro_1#%E6%8E%A5%E5%8F%97minion%E7%9A%84%E6%89%98%E7%AE%A1%E8%AF%B7%E6%B1%82

你可能感兴趣的:(安装,自动化,批量管理,saltsatck)