<返回更多

基于centos7部署saltstack服务器管理自动化运维平台

2020-05-27    
加入收藏

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。

通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

下面介绍一下saltstack的部署及使用教程。

官网:http://docs.saltstack.cn/

环境:

基于centos7部署saltstack服务器管理自动化运维平台

 


一、yum安装saltstack

1、配置epel源

salt软件包需要epel源的支持,那么下载

for i in /etc/yum.repos.d/*.repo;do cp $i ${i%.repo}.bak;done
rm -rf /etc/yum.repos.d/*.repo
wget -O /etc/yum.repos.d/centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all && yum makecache

2、安装salt包

--先安装epel源
yum install epel-release -y 
--安装salt-master
yum install salt-master -y
--安装salt-minion
yum install salt-minion -y
--其他
yum install salt-ssh -y
yum install salt-syndic -y
yum install salt-cloud -y
基于centos7部署saltstack服务器管理自动化运维平台

 

3、开机自启动

--salt-master开机自启
systemctl enable salt-master.service 
systemctl start salt-master.service 
systemctl status salt-master.service 

--salt-minion开机自启
systemctl enable salt-minion.service 
systemctl start salt-minion.service 
systemctl status salt-minion.service
基于centos7部署saltstack服务器管理自动化运维平台

 


二、saltstack配置

1、管理端配置

1.1、修改hosts文件解析

# vim /etc/hosts
#####################saltstack#########################
xx.xx.xx.3   xxxsalt-master
#prod
xx.xx.xx.134  xxxxsalt-minion

1.2、修改salt-master配置文件

# cat /etc/salt/master |grep -v '^#'|grep -v '^$'
==============================================================================
interface: salt-master-IP        #监听地址改成主机IP
publish_port: 4505             #4505消息发布端口(所有minion在4505上保持established)
ret_port: 4506                 #salt客户端和服务端通信使用4506端口,内容传输使用消息队列
auto_accept: True              #证书认证
file_roots:                    #开启站点目录
  base:
    - /srv/salt/
  prod:
    - /srv/salt/prod/services
    - /srv/salt/prod/states
  uat:
    - /srv/salt/uat/services
    - /srv/salt/uat/states
pillar_roots:
  base:
    - /srv/pillar
pillar_opts: True              #开启pillar功能,同步文件功能
nodegroups:
  group1: 'XX-AP'      #被管理端主机名
  group2: 'XX-TEST-AP'
基于centos7部署saltstack服务器管理自动化运维平台

 

1.3、创建配置文件中对应的目录

mkdir -p /srv/salt/prod/services
mkdir -p /srv/salt/prod/states
mkdir -p /srv/salt/uat/services
mkdir -p /srv/salt/uat/states

1.4、重启服务

 systemctl restart salt-master

2、被管理端配置

2.1、修改配置文件

cat > /etc/salt/minion << EOF
  master: salt-master-ip
  id: `hostname`
EOF
基于centos7部署saltstack服务器管理自动化运维平台

 

2.2、重启服务

 systemctl restart salt-minion

三、salt集群测试

1、salt-key 密钥管理,通常在master端执行
salt-key [options]
salt-key -L ##查看所有minion-key
salt-key -a <key-name> ##接受某个minion-key
salt-key -d <key-name> ##删除某个minion-key
salt-key -A ##接受所有的minion-key
salt-key -D ##删除所有的minion-key

基于centos7部署saltstack服务器管理自动化运维平台

 

2、salt-run 在master执行runner
salt-run [options] [runner.func]
salt-run manage.status ##查看所有minion状态
salt-run manage.down ##查看所有没在线minion
salt-run manged.up ##查看所有在线minion

基于centos7部署saltstack服务器管理自动化运维平台

 

3、salt可以让minion执行命令.
执行模块命令。

cmd.run模块执行shell命令。

cmd.script方式:可以向远程主机执行脚本。

salt -C 'ZL-FSL-AMS-TEST-AP' test.ping        #模块命令。测试minion存活状态,-C多参数
salt  'ZL-FSL-AMS-TEST-AP'  cmd.run 'ls /home'
salt '*' cmd.script salt://temp.sh salt:// == /srv/salt(salt的默认发布目录)
基于centos7部署saltstack服务器管理自动化运维平台

 


基于centos7部署saltstack服务器管理自动化运维平台

 

4、salt执行cp模块salt-cp 分发文件到minion上,不支持目录分发。

  salt-cp '*'  /home/scripts/zabbix_backup.sh  /home/zabbix_backup.sh

5、salt执行自定义脚本。

salt:// 是指 /srv/salt(salt的默认发布目录)

基于centos7部署saltstack服务器管理自动化运维平台

 


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>