SaltStack介紹html
官網:https://docs.saltstack.com/en/latest/python
中國saltstack用戶組http://www.saltstack.cn/mysql
下圖是它的子系統和擴展插件:linux
工做流:nginx
Saltstack 分服務端master和客戶端minion,安裝Saltstack前先安裝epelgit
阿里源:http://www.javashuo.com/tag/mirrors.aliyun.com
epel安裝介紹:http://mirrors.aliyun.com/help/epelsql
1、安裝mongodb
1)安裝master(服務端)
yum install -y salt-master
2)安裝minion(客戶端)
yum install -y salt-minion
3)開機啓動master(服務端)
chkconfig salt-master on
4)開機啓動minion(客戶端)
chkconfig salt-minion onshell
2、配置數據庫
1)修改master配置文件
vim /etc/salt/master
備註:base前面2個空格,- /srv/salt 前面4個空格
2)啓動master
/etc/init.d/salt-master start
3)修改monion配置文件
vim /etc/salt/minion
找到master,將ip改爲服務端地址
備註:冒號和ip地址間必定要有一個空格
找到id,將名稱作個標識
4)啓動minion
/etc/init.d/salt-minion start
3、配置認證
1)在master上執行salt-key
根據上圖在Unaccepted Keys中能夠看到minion配置的id信息
salt-key -A
容許Unaccepted Keys中全部的minion被信任
salt-key -a 10.10.83.163 ,指定10.10.83.163這臺minion被信任
說明:-a :accept ,-A:accept-all,-d:delete,-D:delete-all
再次執行salt-key,能夠從下圖中看到2臺minion被信任。
3、命令
目標 模塊 返回
1)salt '*' test.ping 檢查全部主機狀態
salt '10.10.83.163' test.ping 檢查10.10.83.163主機狀態
2)salt '*' cmd.run 'df -h' 檢查全部主機硬盤狀態
備註:cmd是一個模塊,run是一個方法(作過開發會容易理解)
3)mkdir /srv/{salt,piller}
Pillar是Salt用來分發全局變量到全部minions的一個接口。編寫的管理文件須要以sls作後綴
cd /srv/salt/
建立host_files.sls文件,內容以下
統計files目錄下建立123.txt,內容127.0.0.1 localhost
執行 salt '*' state.sls host_files
查看10.10.83.162和10.10.83.163兩臺主機下/etc/hosts已變動爲123.txt中內容。
4)salt-cp '*' /etc/hosts /etc/
複製一個本地文件的拷貝到全部匹配的Salt Minion中給定的目標。
模塊名 |
描述 |
管理aliases file信息 |
|
salt.modules.alternatives |
|
管理apace模塊 |
|
APT(Advanced Packaging Tool)支持 |
|
壓縮(archive)支持 |
|
at支持 |
|
經過augeas管理配置文件 |
|
管理Bluetooth(使用Bluez) |
|
Mac OS X的Homebrew支持 |
|
指定butter雲組件路由 |
|
Cassandra NoSQL數據庫模塊 |
|
A module for shelling out |
|
返回配置信息 |
|
minion端salt-cp支持 |
|
cron支持 |
|
daemontools服務模塊 |
|
管理minion本地持久化的數據結構 |
|
Debconf支持 |
|
Debian系列系統服務支持 |
|
管理磁盤信息 |
|
管理django站點 |
|
管理dnqmasq模塊 |
|
dns通用管理工具 |
|
用於支持DEB 分發版本的包管理 |
|
另一個包管理 |
|
eix 支持 |
|
Fire events on the minion, events can be fired up to the master |
|
管理ex2/3/4文件系統]] |
|
管理minion的文件信息,設置或讀取文件屬組、權限等 |
|
管理FreeBSD jail環境 |
|
管理FreeBSD 內核 |
|
FreeBSD package管理支持 |
|
管理FreeBSD服務 |
|
FreeBSD sysctl管理支持 |
|
管理ruby gem |
|
Gentoolkit支持 |
|
管理gentoo服務 |
|
git SCM支持 |
|
Module for handling openstack glance calls. |
|
grains數據控制 |
|
管理Linux和OpenBSD組 |
|
GRUB Legacy支持 |
|
經過libguestfs管理虛擬機鏡像 |
|
Mercurial SCM支持 |
|
管理hosts文件 |
|
虛擬機鏡像管理 |
|
iptables支持 |
|
posix-like系統鍵盤管理模塊 |
|
minion key信息支持 |
|
openstack keystone調用管理 |
|
Linux內核管理模塊 |
|
Provide the hyper module for kvm hypervisors |
|
Mac OSX launchd/launchctl管理支持 |
|
Layman支持 |
|
ldap管理支持 |
|
Linux文件訪問控制支持 |
|
Linux LVM2支持 |
|
Linux sysctl管理支持 |
|
posix-like系統locale支持 |
|
locate工具管理 |
|
logrotate管理支持 |
|
Support for modifying make.conf under Gentoo |
|
使用mdadm工具管理RAID arrary |
|
mongodb管理支持 |
|
monit模塊 |
|
moosefs管理支持 |
|
管理UNIX mount及fstab文件 |
|
Run munin plugins/checks from salt and format the output as data |
|
mysql管理支持 |
|
收集和管理網絡信息 |
|
NFS3管理模塊 |
|
nginx管理 |
|
openstack nova調用管理 |
|
Manage and query NPM packages |
|
nzbget支持 |
|
OpenBSD包管理 |
|
OpenBSD服務管理 |
|
Mac OS X implementations of various commands in the "desktop" interface |
|
Arch pacman管理 |
|
pam管理 |
|
posix-like系統分區管理parted支持 |
|
PHP pecl擴展支持 |
|
minion pillar數據管理 |
|
系統python或virtualenv pip管理 |
|
pkgng支持 |
|
Resources needed by pkg providers |
|
Solaris Pkgutil支持 |
|
Postgres數據庫管理支持 |
|
poudriere支持 |
|
A salt interface to psutil, a system and process library |
|
Publish a command from a minion to a target |
|
puppet管理支持 |
|
FreeBSD組管理 |
|
FreeBSD用戶管理 |
|
qemu鏡像命令管理 |
|
qemu命令管理 |
|
quotaposix-like系統quota管理 |
|
rabbitmq管理 |
|
Windows註冊表管理 |
|
Module to integrate with the returner system and retrieve data sent to a salt |
|
RHEL/Fedora網絡管理 |
|
類RHEL服務管理 |
|
rpm支持 |
|
Manage ruby installations and gemsets with RVM, the Ruby Version Manager |
|
Amazon S3支持 |
|
The Saltutil module is used to manage the state of the salt minion itself |
|
selinux調用管理 |
|
服務管理 |
|
管理shadow文件 |
|
Solaris 10和11服務管理模塊 |
|
Solaris組管理 |
|
Solaris包管理 |
|
Solaris shadow文件管理 |
|
Solaris用戶管理 |
|
solr模塊支持 |
|
SQLite3支持 |
|
管理ssh客戶端 |
|
管理minion state |
|
返回minion各類狀態 |
|
Provide the service module for supervisord |
|
Subversion SCM |
|
sysbench支持 |
|
he sys module provides information about the available functions on the minion |
|
systemd服務管理 |
|
支持關機、重啓等 |
|
Module for running arbitrary tests |
|
posix-like系統timezone管理 |
|
SSL/TLS模塊 |
|
tomcat支持 |
|
Module for the management of upstart systems |
|
libvirt管理支持 |
|
建立python virtualenv環境 |
|
收集Windows磁盤信息 |
|
管理Windows minion文件信息 |
|
管理Windows組 |
|
管理Windows網絡信息 |
|
Windows包管理 |
|
Windows服務管理 |
|
Windows shadow管理 |
|
返回Windows minion各類信息 |
|
Windows用戶管理 |
|
YUM支持 |
|
YUM支持 |
|
ZFS支持 |
|
OpenSUSE zypper包管理支持 |