【Linux37-1】saltstack自动化运维(master与minion+远程测试+.sls文件+modules+grains+jinja模板)

本文详细介绍了SaltStack的安装配置、远程执行命令、.sls文件编写、模块开发、grains配置以及jinja模板的使用。通过实例展示了如何在master和minion之间进行交互,实现配置管理、远程执行和监控功能。
摘要由CSDN通过智能技术生成

1. saltstack简介


官网安装:http://repo.saltstack.com/

模块-官网文档:docs.saltstack.cn


  • SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

特点

  • 基于python开发的C/S架构配置管理工具
  • 底层使用ZeroMQ消息队列pub/sub方式通信
  • 使用SSL证书签发的方式进行认证管理,传输采用AES加密

服务架构

  • 服务器端:Master
  • 客户端:Minion

功能

  • 远程执行
  • 配置管理/状态管理
  • 云管理(cloud)
  • 事件驱动

运行方式

  • local本地运行
  • Master/Minion传统方式
  • Syndic分布式
  • Salt ssh

配置文件

  • /etc/salt/master:主控端(控制端)配置文件
  • /etc/salt/minion:受控端配置文件

2. 安装与配置


master端:
server1:192.168.17.1

minion端:
server2:192.168.17.2
server3:192.168.17.3


2.1 minion端配置


  • 配置软件仓库

vim /etc/yum.repos.d/salt-3000.repo

[salt-3000]
name=SaltStack 3000 Release Channel for Python 2 RHEL/Centos $releasever
baseurl=https://mirrors.aliyun.com/saltstack/yum/redhat/7/$basearch/3000
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/saltstack-signing-key, file:///etc/pki/rpm-gpg/centos7-signing-key

  • 安装salt-minion

yum install -y salt-minion

  • 设置对应的master端

vim /etc/salt/minion

 16 master: 192.168.17.1

  • 开启服务

systemctl enable --now salt-minion

  • 每次修改主机名后,都要删除/etc/salt/minion_id此文件,并修改解析

2.2 master端配置


  • 配置软件仓库

yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-3000.el7.noarch.rpm
sed -i "s/repo.saltstack.com/mirrors.aliyun.com\/saltstack/g" /etc/yum.repos.d/salt-latest.repo

cat /etc/yum.repos.d/salt-3000.repo

[salt-3000]
name=SaltStack 3000 Release Channel for Python 2 RHEL/Centos $releasever
baseurl=https://mirrors.aliyun.com/saltstack/yum/redhat/7/$basearch/3000
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/saltstack-signing-key, file:///etc/pki/rpm-gpg/centos7-signing-key

  • 安装salt-master

yum install -y salt-master

  • 开启服务

systemctl enable --now salt-master

在这里插入图片描述

  • 认证

salt-key -A:接受所有minion等待认证的key

salt-key -L:列出所有公钥信息

-a minion#接受指定minion等待认证的key
-r minion#拒绝指定minion等待认证的key
-R#拒绝所有minion等待认证的key

在这里插入图片描述

2.3 远程测试


  • 查看端口及进程
yum install -y lsof#可以显示监听端口详细信息
yum install -y python-setproctitle#可以显示进程详细信息
systemctl restart salt-master.service

在这里插入图片描述
在这里插入图片描述

  • 测试
salt '*' test.ping
salt '*' cmd.run hostname
salt '*' cmd.run 'uname -a'

在这里插入图片描述
在这里插入图片描述

3. 远程执行shell命令


salt 'server2' sys.doc pkg:查看模块文档

  • 测试httpd
#安装httpd
salt server2 pkg.install httpd
#列出安装包
salt server2 cmd.run 'rpm -q httpd'
##开启服务
salt server2 service.start httpd

在这里插入图片描述

  • 复制文件
echo server2 > index.html
salt-cp server2 index.html /var/www/html/

在这里插入图片描述

4. 编写.sls文件


  1. 有apache.sls和apache目录,先匹配apache.sls
  2. 调用时不加.sls后缀
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值