salt 'testfor241' cmd.run 'df -h'
组件一、saltstack之grains介绍
GRAINS组件是saltstack中非常重要的一个组件,
其主要用于记录Minion的一些静态信息,如比:CPU、内存、磁盘、网络等。
grains信息是每次客户端 启动后自动上报给master的,一旦这些静态信息发生改变需要重启minion 或者重新同步下 grains。
grains 是在minion启动收集到的一些信息,比如操作系统的类型,网卡IP,内 存版本,CPU信息等
列出所有的grains项目名称
salt 'testfor241' grains.ls
testfor241:
- SSDs
- biosreleasedate
- biosversion
- cpu_flags
- cpu_model
- cpuarch
等等
列出所有的grains项和对应的值
salt 'testfor241' grains.items
testfor241:
----------
SSDs:
biosreleasedate:
05/20/2014
biosversion:
6.00
cpu_flags:
- fpu
- vme
- de
单独查看
salt 'testfor241' grains.item biosversion
自定义grains
在被监控端testfor241上 添加grains:
vim /etc/salt/grains
role: zabbix_server
env: test
myname: xuegodlinux
myhostname: testfor241
重启minion服务
systemctl restart salt-minion
组件二、saltstack之pillar介绍
grains用于存储静态不易变更的数据,而pillar一般用来存储动态的、敏感的数据;通过minion端和master端都可以配置设置或获取grains信息,而pillar信息只能在master端配置,再到minion端执行。
pillar和grains不一样,是在master上定义的,并且是针对minion定义的一些 信息,可以自定义变量等
自定义配置pillar过程:
vim /etc/salt/master
pillar_roots:
base:
- /srv/pillar
创建pillar文件的存放目录:
mkdir -p /srv/pillar
cd /srv/pillar
创建配置文件,编辑如下内容:
vim test.sls
conf: /etc/123.conf
myname: saltstack-server
创建编写入口配置文件
vim /srv/pillar/top.sls
base:
'testfor241':
- test
重启服务:
systemctl restart salt-master
刷新来获取新的状态
salt '*' saltutil.refresh_pillar
查看:
salt '*' pillar.items
开启配置管理服务
vim /etc/salt/master
file_roots:
base:
- /srv/salt/
创建配置文件存储目录
mkdir /srv/salt
cd /srv/salt
配置安装apache
创建入口配置文件
vim top.sls
base:
'testfor241':
- apache
意思是指定客户端上执行apache的模块
重启服务
systemctl restart salt-master
创建编写apache模块的配置文件
vim /srv/salt/apache.sls
#自定义的ID名称
apache-service:
#包安装函数
pkg.installed:
- names:
#安装包名
- httpd
- httpd-devel
#服务启动函数
service.running:
#服务名
- name: httpd
#开机启动
- enable: True
执行 :
salt 'testfor241' state.highstate
配置远程文件管理
创建一个文件管理的模块
vim /srv/salt/filetest.sls
#自定的名字
file_test:
file.managed:
#远程客户端要生成的文件
- name: /tmp/xuegodlinux.txt
#文件从哪里拷贝
- source: salt://test/ck.php
- user: root
- group: root
- mode: 644
test 目录相当于是 /srv/salt/test 目录
在入口文件里添加模块
vim /srv/salt/top.sls
base:
'testfor241':
- apache
- filetest
执行:
salt 'testfor241' state.highstate
配置文件夹管理:
创建一个文件夹管理的模块
vim /srv/salt/filedir.sls
#自定的名字
file_dir:
file.recurse:
#远程客户端要生成的文件夹
- name: /tmp/testdir
#文件夹从哪里拷贝
- source: salt://test
- user: root
- file_mode: 644
- dir_mode: 755
- mkdir: True
- clean: True
在入口文件里添加模块
vim /srv/salt/top.sls
base:
'testfor241':
- filedir
执行:
salt 'testfor241' state.highstate
saltstack远程执行命令
创建执行命令的配置文件
vim /srv/salt/cmd.sls
cmd_test:
cmd.run:
#若/tmp/xuegodtext.txt文件不存在,也就是结果为True则执行-name后面的命令,为false则不执行
- unless: test -f /tmp/xuegodtext.txt
- names:
- touch /tmp/11.txt
- mkdir /tmp/1233
- user: root
在入口文件里添加模块
vim /srv/salt/top.sls
base:
'testfor241':
- cmd
执行:
salt 'testfor241' state.highstate
saltstack远程执行shell脚本
创建执行脚本的配置文件
vim /srv/salt/shell.sls
shell_test:
cmd.script:
- source: salt://test/1.sh
- user: root
cat /srv/salt/test/1.sh
#!/bin/bash
touch /tmp/111222333.jsp
echo 'this is jsp page'>> /tmp/111222333.jsp
在入口文件里添加模块
vim /srv/salt/top.sls
base:
'testfor241':
- shell
执行:
salt 'testfor241' state.highstate
喜欢的亲可以关注点赞评论哦!以后每天都会更新的哦!本文为小编原创文章;
文章中用到的文件、安装包等可以加小编联系方式获得;
欢迎来交流小编联系方式VX:CXKLittleBrother
进入运维交流群