# 環(huán)境
centos7
master IP:192.168.1.100
# 安裝
一般情況下安裝saltstack 用yum就可以了
yum install https://repo.saltstack.com/yum/redhat/salt-repo-2017.7-1.el7.noarch.rpm
如需指定版本,可修改salt-repo-2017.7-1.el7.noarch.rpm為其他版本號
如:salt-repo-2016.11-2.el7.noarch.rpm
版本號可在https://repo.saltstack.com/yum/redhat找到
按需求安裝個(gè)部件
- yum install salt-master
- yum install salt-minion
- yum install salt-ssh
- yum install salt-syndic
- yum install salt-cloud
- yum install salt-api
# 配置
# 基本配置
### master
### minion
minion端只需配置2個(gè)地方
id: minion1 #指定自己的ID,默認(rèn)為hostname
master: 192.168.1.100 #指定master
這樣最基本的就配置就完成了,可以在master端通過
salt-key -a minion1 來把minion1添加到管理
salt 'minion1' test.ping #測試minion1是否正常通訊
### 目錄配置
```
file_roots:
base:
- /data/salt/srv
- /data/salt/formulas/base
#設(shè)置base環(huán)境下 salt目錄,當(dāng)使用salt路徑即salt://來訪問文件時(shí),會到這里邊定義的所有目錄下尋找
pillar_roots:
base:
- /data/salt/pillar
#定義pillar目錄
include:
- /data/salt/test.conf
#加載其他配置文件
extension_modules: /data/salt/ext
#/usr/lib/python2.7/site-packages/
ext_pillar:
- nodegroups:
pillar_name: 'nodegroups'
# 擴(kuò)展pillar
```
### 權(quán)限配置
默認(rèn)情況下salt 只允許root執(zhí)行,而如果其他用戶需要執(zhí)行salt命令那么就需要添加如下配置
```
client_acl:
tomcat:
- state.*
nginx:
- test.ping
效果:使得tomcat 可以執(zhí)行 state模塊的所有命令
nginx用戶可以執(zhí)行test.ping 命令
```
### gitfs
```
安裝
yum install libgit2 python-devel libffi-devel libgit2-devel -y
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64//http-parser-2.0-4.20121128gitcd01361.el6.x86_64.rpm
wget https://github.com/libgit2/libgit2/archive/v0.26.0.tar.gz
tar xzf v0.26.0.tar.gz
cd libgit2-0.26.0/
cmake . && make && make install
cp /usr/local/lib/libgit2.so* /usr/lib64/
cd /usr/lib64/ && ldconfig
```
```
gitfs_provider: pygit2
gitfs_base: master
gitfs_remotes:
- http://git地址: #后邊帶:
- base: master #分支
- root: demo-service-provider/src/main/resources #目錄
- mountpoint: salt://webapp/ops_resources #掛載目錄
- insecure_auth: True
- user: arthur #用戶
- password: zsdata123 #密碼
效果:可以加載到git上邊定義的文件,一般用于
```
### 其他配置
```
file_recv: True #開啟后minion可通過cp.push 向master上傳文件
```