saltstack 管理

    各位不好意思,由于工作比较忙,saltstack没有及时更新。      

上一篇讲解了saltstack的安装以及配置这是比较简单的说明。我们来学习使用它,在开始使用它前先说明一下它的基本组成。 saltstack是沿用python的概念,全是模块化。他有module、grains、pillar、state等主要模块;

这周我们一起来学习module模块:首先先介绍一下cmd模块,这个模块有以下函数:

exec_code(lang, code, cwd = None)

在大多数情况下使用前两种参数:第一个参数是你系统中的语言例如:python ruby等,第二个参数是你要执行的代码,把执行的结果通过标准输出显示出来

例如:

salt "*" cmd.exec_code python "print '123'"

结果为:

164825_4mb6_2649552.jpg

exec_code_all(lang, code, cwd = None):

这个函数的参数和上一个函数的参数一样,功能一样,就是返回值不同,返回执行后的所有状态

例如:

salt "*" cmd.exec_code_all python "print '123'"

结果为:

170958_O6Yn_2649552.jpg

has_exec(cmd):

这个函数是验证shell中的命令是否在minion上能执行,返回结果为True否则false,参数为可执行文件

例如:

salt "*" has_exec cat

例如:

172902_8Y7z_2649552.jpg

run(cmdcwd=Nonestdin=Nonerunas=Noneshell='/bin/sh',python_shell=Noneenv=Noneclean_env=Falsetemplate=Nonerstrip=Trueumask=None,output_loglevel='debug'log_callback=Nonetimeout=Nonereset_system_locale=Trueignore_retcode=False,saltenv='base'use_vt=False**kwargs)

这个函数参数比较多,只介绍常用的参数

cmd                命令参数

cwd                当前目录下执行命令  默认为  /root

stdin               可以代替标准输入的输入

例如:

salt 'app' cmd.run "ls -l / | awk '{print \$2}'"

112842_J2uA_2649552.png

salt 'app' cmd.run template=jinja "ls -l /tmp/{{grains.id}} | awk '{print \$2}'"

在这里的template是一个jinjia模版引用 grains.id 在这里知道代表的是 app就行了

115034_194Y_2649552.png

对于cmd模块来说就讲解到这个地方:具体的请查看

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cmdmod.html

我们来看看salt是怎么管理我们的ssh-key

使用ssh.auto_keys  来管理我们的key

ssh.auto_keys(user = None, config = ''.ssh/authorized_keys)

user 代表用户

config  代表存储ssk值的文件

 salt "app" ssh.auth_keys root

140705_a869_2649552.png

我们怎么样来管理文件呢?

salt给我们很好的解决方案 例如:

file模块是管理有关常规文件信息,目录、minion上的特殊文件,设置/读取 用户 组 模式 数据

1、file.access(path, mode)

这个函数讲解的是在该目录中是否存在某文件/某目录  mode (f 文件/目录是否存在,r 是否可读,w是否可写,x是否可执行)

例如:先手工在app /tmp下创建test目录和app文件

salt "app" file.access /tmp/test f

174244_xNkN_2649552.png

它的mode参数 你可以根据自己的需求来测试

append(path, *args, **kargv)

这个函数是说把文本追加到文本文件的尾部

例如:在app上创建一个文件

salt "app" file.append /tmp/app "123\n123"
salt "app" file.append /tmp/app "123\r123"
salt "app" file.append /tmp/app "123" "123"

175109_bBmQ_2649552.png

结果:

175158_ttGb_2649552.png

如果你要追加一个包含有=号的字符串,你必须包括参数名称args

注意在使用args=“string”等号前后一定不要有空格

例如:

salt "app" file.append /tmp/app args = "cheese=spam"
salt "app" file.append /tmp/app args='cheese=spam'
salt "app" file.append /tmp/app args="['cheese=spam','spam=cheese']"

执行结果:

180150_xgt8_2649552.png

查看app文件上的文件结果:180150_4hDj_2649552.png

在cmd模块中还有很多的函数,例如chgrp  chown等函数

地址:https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.file.html

如果想用使用某个模块但又不知道怎么使用。

可以使用: 

表示  查看某个模块和函数的使用方法,也可以使用模块

salt "app" sys.doc cmd.chgrp          

ss










转载于:https://my.oschina.net/Jalo/blog/633312

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值