四、saltstack如何管理对象?】的更多相关文章

实验前环境: [root@super65 ~]# salt-key -L[root@super65 ~]# salt-key -a super65.cn -y salt管理对象简介: saltstack管理的对象叫做target. 管理的对象很多是我们需要对不同的对象进行分类.saltstack是如何做到分类的呢? saltstack管理对象时能够做到自动化还是要依赖对象的ID的,所有在前期规划好target的ID是非常重要的. 1.正则匹配 [root@super65 ~]# salt -E…
targeting支持如下matcher: Globing : '*', 正则: 指定-E参数,正则表达式匹配多个 List: 指定-L参数,salt -E 'web1-(prod|devel)' test.ping Grains: 指定-G参数,salt -G 'os:CentOS' test.ping pillar: 指定-I参数,salt -I 'apache:httpd' pkg.install httpd node groups: 指定-N参数,salt -N 'web-cluster…
Salt介绍 Salt是一个基础平台管理工具 Salt是一个配置管理系统,能够维护预定义状态的远程节点 Salt是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 Salt核心功能 使命令发送到远程系统是并行的而不是串行的 使用安全加密的协议 使用最小最快的网络载荷 提供简单的编程接口 Salt有点 Saltstack是用python语音编写 相当于设备是轻量级别的 Saltstack通讯采用ZEROMQ实现使得它很快速 Saltstack是开源的 通过python可以自己写模块 Sa…
一.salt常用命令 salt 该命令执行salt的执行模块,通常在master端运行,也是我们最常用到的命令 salt [options] '<target>' <function> [arguments] 如: salt '*' test.ping salt-run 该命令执行runner(salt带的或者自定义的,runner以后会讲),通常在master端执行,比如经常用到的manage salt-run [options] [runner.func] salt-run m…
Saltstack远程执行 语法例:salt '*' cmd.run 'w' -  命令:salt -  目标:'*' -  模块:cmd.run,自带150+模块,也可以自己写模块 -  返回:执行后结果返回,Returnners组件 1.指定目标(targeting) 官网文档:https://docs.saltstack.com/en/latest/topics/targeting/index.html 两种定位方法:一种和minion ID有关,一种和monion ID无关 1)mini…
前几篇文章已经完成了saltstack的安装.认证,从这篇文章开始学习使用saltstack的远程执行. 1.salt远程执行命令详解Usage: salt [options] '<target>' <function> [arguments] [options] :此选项指定以何种方式匹配target. : 通配符匹配 -N: 匹配分组nodegroup -E: 正则匹配 -G:grains匹配 -I: pillar匹配 -L: 列表匹配,使用逗号或者空格匹配. -S: 使用IP…
Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等,可以通过grains.items查看某台minion的grains所有信息,minion的grains信息是minion启动的时候采集汇报给master的. grains会在minion进程启动时进行加载,并缓存在内存中.这样salt-minion进程无需每次操作都要重新检索系统来获取grain,提升了m…
前面已经介绍的够多了,这里来让我们写一些完整的实例来梳理一下. 强调一下,sls文件的抒写格式都是"-"后面跟一个空格,然后后面跟参数: 然后后面再跟一个空格,然后是要填写的值.但是粘贴上面中间空格好多...... 一.初始化实例 一般一台新机器在交付使用之前,都要做一些初始化优化操作,如调整参数啊,优化服务啊,部署监控啊等,这里我们就写一个相对简单的实例演示一下. 1.1 服务端的前期准备 第一步: 开启自动验证功能(既然我们要自动化,不可能每创建一台新机器就跑到master端去手工…
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.saltstack.com/en/latest/topics/targeting/index.html#advanced-targeting-methods (1)和Minion ID相关的目标匹配方式 .MinionID匹配 [root@linux-node1 ~]# salt 'linux-node…
一.编写插件基类 1.目录结构 1.我是如何获知我有多少种系统? 当客户端第一连接过来的时候,我就已经把这些文件存下来了 ,存在到哪里了?存到数据库了 每次对主机发送命令的动作时,我从库里把数据取出来,我去判断有几种就可以,每个模块执行之前都要这样的判断, 直接把用户分配给了不同的模块,这就变成我了我每个模块都要写一边(重复劳动) 写一个公共的类,就是提取这些,你一定要有一个公共的类,他的作用是为了规范其他的模块 2.运行结果截图 cmd和state只要一执行就会自动去提取主机 二.获取主机列表…