关闭

SaltStack实战之manage、salt-ssh和salt jobs

标签: saltstack
367人阅读 评论(0) 收藏 举报
分类:

SaltStack实战之manage、salt-ssh和salt jobs

@(学习)[SaltStack]

1. SALT.RUNNERS.MANAGE

Manage官方文档:
https://docs.saltstack.com/en/latest/ref/runners/all/salt.runners.manage.html#module-salt.runners.manage

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的版本。

2. salt-ssh

salt-ssh官方文档:
https://docs.saltstack.com/en/latest/topics/ssh/index.html

配置文件/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

[root@salt-master112 keepalived]# salt-ssh '*' -r 'df -h'
node1:
    ----------
    retcode:
        0
    stderr:
    stdout:
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/mapper/vg_im75-LogVol01
                              287G   11G  262G   4% /
        tmpfs                 3.9G   20K  3.9G   1% /dev/shm
        /dev/sda1             477M   69M  383M  16% /boot
node2:
    ----------
    retcode:
        0
    stderr:
    stdout:
        Filesystem            Size  Used Avail Use% Mounted on
        /dev/mapper/vg_im75-LogVol01
                              287G  9.5G  263G   4% /
        tmpfs                 3.9G   12K  3.9G   1% /dev/shm
        /dev/sda1             477M   69M  383M  16% /boot
[root@salt-master112 keepalived]#

状态管理:同salt

Target:支持glob及正则

3. salt job

官方文档:
https://docs.saltstack.com/en/latest/topics/jobs/

以下是常用的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
0
0
查看评论

saltstack实现ssh key公钥分发

以前写过一个交互式的expcet脚本实现分发公钥,以便于管理海量主机。虽说脚本不难写,但还是没有saltstack实现起来简单!来做好了 下面开始实验了!首先实验环境2台主机10.255.254.129 10.255.254.222##################################...
  • zhs2014150551
  • zhs2014150551
  • 2015-10-07 19:01
  • 1286

Salt-ssh之批量yum部署minion(13)

salt-ssh是Saltstack的另一种管理方式,无需安装minion端,可以运用Salt的一切功能,管理和使用方式和基本和Salt一样。下面以批量安装minion端为例,讲述salt-ssh的用法。 安装salt-ssh: yum install salt-ssh -y 一、RPM安装篇 使用...
  • hnhuangyiyang
  • hnhuangyiyang
  • 2015-12-28 20:55
  • 4812

centos6.5使用yum安装saltstack-之salt-master salt-minion

首先准备至少两台主机 一台安装salt-master [root@master /]# yum install salt-master -y 一下是安装成功结果: 其余的主机安装minion [root@minion /]# yum install salt-minion -y ...
  • Hu_wen
  • Hu_wen
  • 2017-03-13 17:46
  • 2222

Saltstack-Salt常用模块及API

Salt提供了非常丰富的功能模块,涉及操作系统的基础功能、常用工具支持等,可以通过sys模块列出当前版本支持的模块。salt '*' sys.list_modules781915e2: - acl - aliases...
  • hjxzt1
  • hjxzt1
  • 2017-06-26 16:40
  • 333

saltstack的SSH使用--Roster的配置使用

openssh作为大多数UNIX平台常用的工具,用于对远程主机进行访问和操作,意思就是安全的shell,在传统的salt中,由minion主动去连接master,master不需要保存minion 网络和主机配置,但是在基于SSH的连接时,master必须通过SSH去连接访问minion,所以就有了...
  • parameter_
  • parameter_
  • 2017-10-27 12:48
  • 135

CentOS6.7下yum安装saltstack主控端(salt-master)

思:刚入门,在研究saltstack的路上留下一点遗迹,仅此而已,再接再励! 安装epel源 wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release...
  • ChuiGeDaQiQiu
  • ChuiGeDaQiQiu
  • 2015-11-08 13:48
  • 3119

saltstack-本地安装rpm方式

1. 基本环境Centos 6.6 Python 2.6.6 Salt 2016.11需要本地安装2. 安装部署2.1 repo地址https://repo.saltstack.com/yum/redhat/6.6/x86_64/2016.11/2.2 httpd环境# yum install ...
  • chlu113
  • chlu113
  • 2017-03-02 22:04
  • 1040

自动化管理工具Saltstack之服务管理(10)

1.启动服务 /srv/salt/service/nfs.sls rpcbind: service.running: - enable: True    #开机自动启动 # - enable: False nfs: service.running: - enable: ...
  • hnhuangyiyang
  • hnhuangyiyang
  • 2015-12-27 16:46
  • 2163

自动化管理工具Saltstack之文件管理(7)

1.managed文件管理 /srv/salt/file/managed.sls /tmp/hyxc: file.managed: - source: - salt://files/hyxc - salt://files/hwg - makedirs: T...
  • hnhuangyiyang
  • hnhuangyiyang
  • 2015-12-27 16:04
  • 4764

Salt-ssh之批量源码部署minion(14)

二、源码安装篇 使用salt-ssh功能要求客户端系统python版本2.6+ 1.salt-minion端环境:   系统:SUSE SP3 64bit   python版本:2.6.6   RPM包:pcre-devel        #不安装,编译swig报错 2.配置/etc/salt/ro...
  • hnhuangyiyang
  • hnhuangyiyang
  • 2015-12-28 21:26
  • 6317
    个人资料
    • 访问:53590次
    • 积分:1048
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:3篇
    • 译文:0篇
    • 评论:9条
    文章分类
    最新评论