部署搭建 Saltstack(centos6.6)
SaltStack介绍
官网:https://docs.saltstack.com/en/latest/
中国saltstack用户组http://www.saltstack.cn/
下图是它的子系统和扩展插件:
工作流:
Saltstack 分服务端master和客户端minion,安装Saltstack前先安装epel
阿里源:mirrors.aliyun.com
epel安装介绍:http://mirrors.aliyun.com/help/epel
一、安装
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 on
二、配置
1)修改master配置文件
vim /etc/salt/master
- 找到file_roots这行,放开注释
备注:base前面2个空格,- /srv/salt 前面4个空格
- 找到pillar_roots这行,放开注释
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
三、配置认证
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被信任。
三、命令
目标 模块 返回
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包管理支持 |