我为自己代盐(salt)
一、介绍
salt是一个新的基础平台管理工具。可以在很短的时间运行并使用起来, 扩展性足以支撑管理上万台服务器,数秒钟即可完成数据传递. 经常被描述为 Func加强版+Puppet精简版。
为什么要选择salt呢?理由:
- 1. 能够满足我的需求
- 2. python写的,简单易懂,方便扩展
- 3. 配置文件采用yaml/jinja的方式,简单明了,容易上手。
- 4. 发展比较快,现在已经可以支持云了(salt-cloud)
二、安装配置
1. epel源
if 可以出外网:
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
else:
搭建本地epel源,参考:http://houwenhui.gotoip2.com/archives/1974
fi
2. 安装salt-master
yum install salt-master -y
修改interface
sed -i ‘/interface: 0.0.0.0/a interface: 10.0.0.1’ /etc/salt/master
修改auto_accept (自动接收minion的公钥,可选)
sed -i ‘/auto_accept:/s/#//‘ /etc/salt/master
重启salt-master服务
service salt-master restart
3. 安装salt-minion
yum install salt-minion -y
修改master
sed -i ‘/#master:/amaster: 10.0.0.1’ /etc/salt/minion
修改id
sed -i ‘/#id:/aid: minion1’ /etc/salt/minion
重启salt-minion服务
service salt-minion restart
4. 接收公钥
minion在第一次启动时,会在/etc/salt/pki/minion/下自动生成minion.pem(private key), minion.pub(public key),然后将minion.pub发送给master
master在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的public key, 然后master就能对minion发送指令了.
salt-key
Accepted Keys:
Unaccepted Keys:
minion1
Rejected Keys:
服务端接受key
salt-key -a minion1
5. 简单测试
salt ‘*’ test.ping
salt ‘*’ cmd.run ‘ifconfig’
salt ‘*’ grains.items
salt更多命令及手册
salt ‘*’ sys.doc