设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 121|回复: 0

【Saltstack系列】16、Saltstack管理实践--manage、salt-ssh和salt jobs

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
167821

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2016-6-7 16:09:20 | 显示全部楼层 |阅读模式
SALT.RUNNERS.MANAGE
Manage官方文档:
https://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.manage.html#module-salt.runners.manage
[AppleScript] 纯文本查看 复制代码
salt-run manage.up # 显示当前存活的minion。 
salt-run manage.down # 显示当前未存活的minion。 
salt-run manage.down removekeys=True # 显示未存活的minion,并将其删除。 
salt-run manage.status # 显示当前up和down的minion。 
salt-run manage.vesions # 显示master和所有minion的版本。


salt-ssh
salt-ssh官方文档:
https://docs.saltstack.com/en/latest/topics/ssh/index.html
使用ssh通道管理minion,不需要在受控端安装minion,但效率不如minion
需要安装yum -y install salt-ssh
[AppleScript] 纯文本查看 复制代码
使用ssh通道管理minion,不需要在受控端安装minion,但效率不如minion
需要安装yum -y install salt-ssh
配置文件/etc/salt/roster
<Salt ID>:  # 目标ID
  host:  # 远程主机的IP地址或者主机名
  user:  # 可以登录的用户
  passwd:  # 可以登录用户的密码(可选)
  port:   # ssh端口
  sudo:  # 是否运行sudo,设置True或者False
  priv:  # ssh私钥的路径,默认是/etc/salt/pki/master/ssh/salt-ssh.rsa
  timeout:  # 连接ssh时的超时时间

salt-ssh功能
  • 运行原始shell调用:-r
  • 状态管理:同salt
  • Target:支持glob及正则


salt job
官方文档:
https://docs.saltstack.com/en/latest/topics/jobs/
[AppleScript] 纯文本查看 复制代码
以下是常用的job相关的方法: 
saltutil.running # 查看当前正在运行的jobs 
saltutil.find_job <jid> # 查看指定jid的job 
saltutil.signal_job <jid> <single> # 指定的jid进程发送信号 
saltutil.term_job <jid> # 终止指定的jid进程(信号为15) 
saltutil.kill_job <jid> # 终止指定的jid进程(信号为9)

任务运行时,minion端/var/cache/salt/minion/proc下存放jid临时文件 
master端/var/cache/salt/master/jobs默认缓存24小时
salt-run jobs.active # 查看所有minion当前正在运行的jobs(在所有minions上运行saltutil.running) 
salt-run jobs.lookup_jid <jid> # 从master jobs cache中查询指定jid的运行结果 
salt-run jobs.list_jobs # 列出当前master jobs cache中的所有job

按照官方文档的描述,计划任务有3种配置方式,分别是:
    在master配置文件中配置
    在minion配置文件中配置
    在pillar中配置

下面介绍schedule在pillar中的用法: 
我的pillar文件夹是 /srv/salt/pillar 
首先创建一个 /srv/salt/pillar/top.sls

base:
  "*"
    - schedule

然后创建 /srv/salt/pillar/schedule.sls

schedule:
  test-job:
    function: cmd.run
    seconds: 10
    args:
      - 'uptime >> /tmp/uptime.log'

这个调度任务的意思是 每隔10秒执行uptime,将结果追加到/tmp/uptime.log中。

创建完文件之后执行下面的命令把pillar的修改刷到minion端去

salt "*" saltutil.refresh_pillar

这样就完成了一个简单的计划任务创建。 
想查看minion端都有哪些计划任务可以用
salt "*" pillar.get schedule
或者
salt "*" config.option schedule


QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2018-10-21 13:26 , Processed in 0.367352 second(s), 32 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表