saltstack自动化运学习笔记

实时管理
cmd.run的方式
执行命令
sudo salt '*' cmd.run 'uptime'
系统模块或自定模块的方式
例如查看minion的磁盘使用率,使用disk模块的usage函数
sudo salt '*' disk.usage
系统自建的模块 参考salt文档 http://docs.saltstack.com/en/latest/ref/modules/all/index.html
使用sys.doc模块查询salt模块的相关使用方法。sys.doc 相当于系统的man,可以查询salt模块的在线doc
sudo salt '*'  sys.doc disk
自定义模块
自定义模块的目录/srv/salt/_modules/,自定义模块路径一般为/srv/salt/_modules/custom.py
示例
$cat /srv/salt/_modules/custom.py
def test():
return 'i am test'
手动同步模块到minion
sudo salt '*' saltutil.sync_modules
执行模块
sudo salt '*' custom.test
States
state模块官方参考文档 http://docs.saltstack.com/ref/states/all/index.html
用于实现对minion进行状态管理,states 定义路径/src/salt(在/etc/salt/master中的file_roots变量定义),states文件使用YAML格式定义
state文件的后缀是sls(Salt State),sls文件编写需要注意在:之后要保留一个空格,否则会导致解析错误
手动执行state的方式,以修改admin账号的bashrc为例
准备/src/salt/bashrc.sls,内容如下
/home/admin/.bashrc:
file.managed:
  - source: salt://files/bashrc
  - user: admin
  - group: admin
  - mode: 644
准备好用于分发的bash文件,salt://files/bashrc 对应/srv/salt/files/bashrc
使bash.sls生效
sudo salt '*' state.sls 'bashrc'
Highstate的方式。其实是使用top.sls作为state的入口文件
/src/salt/top.sls文件如下,top.sls引用bashrc.sls
base:
'*':
- bashrc
手动执行highstate生效
sudo salt '*' state.highstate
使用schedule 让minion自动执行highstate
定义 /srv/pillar/top.sls
base:
'*':
- schedule
定义 /srv/pillar/schedule.sls (30分钟为单位)
schedule:
highstate:
function: state.highstate
minutes: 30
Pillar
官方文档 http://docs.saltstack.com/topics/tutorials/pillar.html
pillar数据定义路径/srv/pillar, 入口文件:/srv/pillar/top.sls
查看pillar信息
sudo salt '*' pillar.data
Grains
官方文档 http://docs.saltstack.com/topics/targeting/grains.html
查看grains分类
salt '*' grains.ls
查看grains所有信息
salt '*' grains.items
查看grains某个信息
salt '*' grains.item osrelease
常用命令
查看汇报上来的minion
sudo salt-key
master同步配置
sudo salt '*' state.highstate

时间: 2024-09-20 19:41:12

saltstack自动化运学习笔记的相关文章

Saltstack自动化的学习笔记

 一.Saltstack架构概述 Saltstack基于C/S架构,服务端master和客户端minions ,其主要由以下部分组成: 二.Saltstack的安装配置 1.master的安装  代码如下 复制代码 rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm yum install salt-master 默认配置文件位于/etc/salt/master ,默认不需要更改该配置

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

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

php5学习笔记(转)

php5|笔记 作者: whhwq在phpv.net看到的感觉不错/*+-------------------------------------------------------------------------------+| = 本文为Haohappy读<<Core PHP Programming>> | = 中Classes and Objects一章的笔记 | = 翻译为主+个人心得 | = 为避免可能发生的不必要的麻烦请勿转载,谢谢 | = 欢迎批评指正,希望和所有

Linux集群和自动化运维

Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技术丛书) ISBN 978-7-111-54438-8 I. L- II.余- III. Linux操作系统 IV. TP316.89 中国版本图书馆CIP数据核字(2016)第176055号 Linux集群和自动化运维 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037

一名运维创业者的思考:云计算时代的自动化运维走向

关于题目"云计算时代的自动化运维",用通俗的话讲,就是应用的自动化部署. 第一个关键词是自动化,自动化代表高效率.低成本;第二个关键词是应用部署.即,不涉及讲物理基础设施的运维(如机房基建.能源.消防.安保.布线等等). 假设一个企业要做一个电商网站,典型的运维流程是这样: 1. 购买硬件设备:服务器.交换机.可能还有路由器.负载均衡器.防火墙,不一一穷举了. 2. 在服务器上安装操作系统 3. 在服务器上安装配置基础环境(数据库.Web服务器.搜索引擎等) 4. 在服务器上安装配置应

VSTO学习笔记(一)VSTO概述

原文:VSTO学习笔记(一)VSTO概述 接触VSTO纯属偶然,前段时间因为忙于一个项目,在客户端Excel中制作一个插件,从远程服务器端(SharePoint Excel Services)上下载Excel到本地打开,用户编辑后再上传回服务器端.当时工期紧迫,临时查了些资料,用VSTO + Excel COM API完成.正因为这个项目,我发现了VSTO的强大功能与潜力,决定抽出一些时间来好好研究下. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Beta 2 +

巧用利器Powershell,让数据库自动化运维事半功倍

作者介绍 许昌永,高级DBA,微软SQL Server MVP,十年以上SQL Server使用经验.曾就职于腾讯公司,从事了六年游戏行业SQL Server数据库开发和管理.目前就职于跨境电商DX.COM三年多,负责公司SQL Server和MongoDB的数据库架构设计.高可用部署.运维管理和性能优化等工作.翻译出版了书籍<PowerShell V3--SQL Server 2012数据库自动化运维权威指南>.   目前市场上针对SQLServer的图书,好的原创图书屈指可数,翻译的图书较

《Python自动化运维:技术与最佳实践》一导读

前 言 为什么要写这本书 随着信息时代的迅速发展,尤其是互联网日益融入大众生活,作为这一切背后的IT服务支撑,运维角色的作用越来越大,传统的人工运维方式已经无法满足业务的发展需求,需要从流程化.标准化.自动化去构建运维体系,其中流程化与标准化是自动化的前提条件,自动化的最终目的是提高工作效率.释放人力资源.节约运营成本.提升业务服务质量等.我们该如何达成这个目标呢?运维自动化工具的建设是最重要的途径,具体包括监控.部署变更.安全保障.故障处理.运营数据报表等.本书介绍如何使用Python语言来实

你需要了解的开源工具自动化运维阶段

前言 随着各种业务对IT的依赖性渐重以及云计算技术的普及,企业平均的IT基础架构规模正不断扩张. 有些Web 2.0企业可能会需要在两个星期内增加上千台服务器,因此对运维而言,通过手动来一个一个搭建的方法不仅麻烦.效率低下,而且非常不利于维护和扩展. 即使是在传统的企业当中,日常的备份.服务器状态监控和日志,通过手动的方式来进行的效率也很低,是一种人力的浪费.因此,自动化早已是每个运维都必须掌握的看家本领. 在不同的企业中,自动化的规模.需求与实现方式都各不相同,因此在技术细节层面,运维之间很难