saltstack的基本命令,模块,yaml语法以及远程部署第一个服务---apache

环境: redhat 7.3

server1172.25.60.1master
server2172.25.60.2minion

一、远程执行shell命令

既然是远程部署,我们首先了解一下基本的远程命令
Salt命令由三个主要部分构成:

salt '<target>' <function> [arguments]

(1) 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: 是module提供的功能,Salt内置了大量有效的functions.(举个简单的例子体验一下)

salt *server2* cmd.run 'touch /mnt/westos'		#执行成功后去server2查看

在这里插入图片描述
在这里插入图片描述
(3) arguments通过空格来界定参数:

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

二、saltstack中的远程执行模块

saltstack中有许多模块,除了内置模块还可以手动添加模块

(1) salt内置的执行模块
内置模块官网有详细说明以及示例.官网链接:http://docs.saltstack.cn/ref/modules/all/index.html

在这里插入图片描述

(2)自己编写执行模块
第一步:编辑master配置文件并重启master服务

vim /etc/salt/master
file_roots:
  base:
    - /srv/salt
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

测试:
在这里插入图片描述

三、YAML语法

编写文件时我们需要遵循yaml语法,了解常见的规则可以使我们在编写文件时少出错!

规则一: 缩进

Salt需要每个缩进级别由两个空格组成,不要使用tabs。

规则二: 冒号

字典的keys在YAML中的表现形式是一个以冒号结尾的字符串。 my_key: my_value

规则三: 短横杠
想要表示列表项,使用一个短横杠加一个空格。

  - list_value_one
  - list_value_two

四、使用saltstack远程部署第一个应用—apache

(1)编写文件

[root@server1 salt]#
[root@server1 salt]# mkdir apache
[root@server1 salt]# cd  apache/
[root@server1 apache]# vim install.sls	#编写yml文件,必须以.sls结尾
[root@server1 apache]# cat install.sls 
install-apache:
  pkg.installed:		##安装httpd
    - pkgs:
      - httpd

  file.managed:			##默认发布文件
    - name: /var/www/html/index.html
    - source: salt://apache/files/index.html

  service.running:		##运行
    - name: httpd 
    - relaod: True		##使用reload方式重启,可以不写(默认restart)
    - watch:			##触发条件
      - file: install-apache
[root@server1 apache]# mkdir files
[root@server1 apache]# echo westos > files/index.html
[root@server1 apache]# cat files/index.html 
westos

(2)向server2推送httpd

[root@server1 apache]# salt server2 state.sls apache.install	

在这里插入图片描述
查看推送结果:
直接访问
在这里插入图片描述
server2上查看进程
在这里插入图片描述
到此第一个服务推送成功!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值