saltstack自动化运维管理——saltstack之salt远程执行

一、Salt命令的构成

Salt命令由三个主要部分构成:salt '<target>' <function> [arguments]

1、target

  • target: 指定哪些minion, 默认的规则是使用glob匹配minion id
salt '*' test.ping
  • Targets也可以使用正则表达式:
salt -E 'server[1-3]' test.ping
  • Targets也可以指定列表:
salt -L 'server2,server3' test.ping

2、funcation

  • funcation是module提供的功能,Salt内置了大量有效的functions。
salt '*' cmd.run 'uname -a'

3、arguments

  • arguments通过空格来界定参数:
salt 'server2' sys.doc pkg			#查看模块文档
salt 'server2' pkg.install httpd
salt 'server2' pkg.remove httpd
  • salt内置的执行模块列表:http://docs.saltstack.cn/ref/modules/all/index.html

二、编写远程执行模块

1、编写模块

  • 编辑master配置文件:
vim /etc/salt/master
##修改
file_roots:
  base:
    - /srv/salt

在这里插入图片描述

  • 重启master服务:
systemctl restart salt-master
  • 创建模块目录:
mkdir /srv/salt/_modules
  • 编写模块文件:
vim /srv/salt/_modules/mydisk.py
def df():
    return __salt__['cmd.run']('df -h')
  • 同步模块:
salt server2 saltutil.sync_modules
  • 运行模块:
salt server2 mydisk.df

在这里插入图片描述

2、了解YAML语法

  • 规则一: 缩进
    Salt需要每个缩进级别由两个空格组成,不要使用tabs。
  • 规则二: 冒号
    字典的keys在YAML中的表现形式是一个以冒号结尾的字符串:my_key: my_value
  • 规则三: 短横杠
    想要表示列表项,使用一个短横杠加一个空格。
    • list_value_one
    • list_value_two

3、SLS

  • Salt 状态系统的核心是SLS,或者叫S a L t S tate 文件。
  • SLS表示系统将会是什么样的一种状态,而且是以一种很简单的格式来包含这些数据,常被叫做配置管理。
  • sls文件命名:
  • sls文件以.sls后缀结尾,但在调用时不用写此后缀。
  • 使用子目录来做组织是个很好的选择。
    init.sls 在一个子目录里面表示引导文件,也就表示子目录本身, 所以apache/init.sls 就是表示apache
  • 如果同时存在apache.slsapache/init.sls,则 apache/init.sls 被忽略,apache.sls将被用来表示 apache

4、配置管理

(1)方法一

  • 创建一个sls文件:
vim /srv/salt/apache.sls
##写入
httpd:                 		# ID声明
  pkg:                  	# 状态声明
    - installed           	# 函数声明
  • 指定主机执行:
salt server2 state.sls apache

在这里插入图片描述
在运行过程中,在server2上ps ax,可以看到server2调用本机的yum在安装。
在这里插入图片描述

(2)方法二

建立apache目录,用apache.install运行
在这里插入图片描述

(3)方法三

  • 准备Top文件:
vim /srv/salt/top.sls
##写入
base:
  '*':
    - apache
  • 批量执行:
salt '*' state.highstate

(4)一些例子

  • a.
    在这里插入图片描述
    修改端口为8080
    在这里插入图片描述
    在这里插入图片描述
    运行成功发现端口从80变为8080,且server2上开启8080端口:
    在这里插入图片描述
    在这里插入图片描述
  • b.
    在这里插入图片描述
    在这里插入图片描述
  • c.
    像配置server2一样配置server3,并在server3上安装salt-minion
    在这里插入图片描述
    在server1上添加nginx安装包:
    在这里插入图片描述
    编写文件,在server3上安装nginx:
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值