saltstack初窥——安装介绍篇

我为自己代盐(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