xiaochuan 发表于 2018-8-1 11:38:23

自动化运维工具Saltstack学习笔记(一)

  1.Saltstack简介
  Saltstack是一个具备puppet与func功能为一身的集中化,轻量级的自动化运维管理工具,使用python编写,功能非常强大,可以使用EPEL快速安装。相比较puppet,安装和配置更加容易和简单。下面是Saltstack安装和基础配置文档。(官方文档:http://docs.saltstack.com/topics/installation/rhel.html)
  2.物理环境

  3.安装前准备
  修改服务器的主机名和hosts,使其能相互解析和ping通,下面以saltmaster为例。
#修改主机名vim /etc/sysconfig/network  
HOSTNAME=SaltMaster
  
#查看主机名
  
# hostname
  
saltmaster
  
#修改/etc/hosts文件,添加如下内容
  
192.168.1.235 SaltMaster
  
192.168.1.248 WEB248
  
192.168.1.244 DB244
  4.安装Saltstack
  利用EPEL源安装saltstack。
#导入EPEL YUM源  
rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
  
#服务器master的安装
  
yum -y install salt-master
  
#客户端minon安装
  
yum -y install salt-minion
  5.Saltstack配置
#服务器master的配置,vim /etc/salt/master添加master侦听的IP地址。  
# The address of the interface to bind to
  
interface: 192.168.1.235
  
#客户端minion的配置,vim /etc/salt/minion,添加master IP地址和minion ID号,ID建议用主机名来配置。。
  
# Set the location of the salt master server
  
master: 192.168.1.235
  
# clusters.
  
id: WEB2013-10-023
  6.启动Saltstack服务
#saltstack master启动和设置开机自动启动  
/etc/init.d/salt-master start
  
chkconfig salt-master on
  
#Saltstck minion启动和设置开机自动启动
  
/etc/init.d/salt-minion start
  
chkconfig salt-minion on
  7.Saltstack master认证Minion KEY
  Saltstack使用公共密钥加密来保证master和minions的安全通信。安装的时候Salt自动生成这些证书,但需要在master端验证minion的证书来确认master和minion之间是授信的。
# salt-key list  
Accepted Keys:
  
Unaccepted Keys:
  
DB2012-08-001
  
WEB2013-10-023
  
Rejected Keys:
  
#证书认证用命令salt-key -a id
  
# salt-key -a DB2012-08-001
  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
DB2012-08-001
  
Proceed? y
  
Key for minion DB2012-08-001 accepted.
  
# salt-key -a WEB2013-10-023
  
The following keys are going to be accepted:
  
Unaccepted Keys:
  
WEB2013-10-023
  
Proceed? y
  
Key for minion WEB2013-10-023 accepted.
  
#查看认证通过的证书
  
# salt-key list
  
Accepted Keys:
  
DB2012-08-001
  
WEB2013-10-023
  
Unaccepted Keys:
  
Rejected Keys:
  8.Saltstack测试
  1)连通性测试:Saltstack证书认证通过以后,就可以进行通信,在master通过test.ping命令来测试它们之间的连接。通配符"*"代表了所有minion。


  2)利用salt远程执行命令:在Saltstack master端通过执行"salt>
  9.Saltstack分组及其测试
  1)为什么要分组?线上WEB,DB,IMG等安装配置相同或者相近的服务器可分为一组,方便批量安装和管理,编辑 /etc/salt/master 添加如下内容,每个组可以有N多服务,每个服务器用逗号分隔。
# nodegroups:  
#   group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
  
#   group2: 'G@os:Debian and foo.domain.com'
  
nodegroups:
  
wwwgroup:'L@WEB2013-10-023,DB2012-08-001'
  
dbgroup:'DB2012-08-001'
  2)分组测试

  总结:SaltStack安装和基本的配置已经完成,可以通过SaltStack批量执行系统命令,包括重启系统,重启服务,查看系统负载,添加/删除用户等等。我已经被salt的强大功能所折服,有时间我将研究一下Salt包的定制安装,文件分发等更强大的功能。
  salt key相关命令总结:
salt-key list   查看已经认证或未认证的客户端id,Accepted Keys为已认证清单,Unaccepted Keys为未认证的清单,Rejected Keys为拒绝的清单。  
salt-key -a id认证单个主机id证书请求。
  
salt-key -A   认证所有主机id证书请求。
  
salt-key -d id删除单个主机id证书。
  
salt-key -D   删除所有认证主机id证书。

guoyu841020 发表于 2019-1-14 15:20:07

仔细拜读

1301664724 发表于 2021-3-7 21:21:47

看了LZ的帖子,我只想说一句很好很强大!
页: [1]
查看完整版本: 自动化运维工具Saltstack学习笔记(一)