前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >saltstack 自动化平台 - 日常管理

saltstack 自动化平台 - 日常管理

作者头像
以谁为师
发布2019-05-28 23:00:22
8790
发布2019-05-28 23:00:22
举报

saltstack 自动化平台 - 日常管理

常用

命令行

salt '*' xxx test=True
# 执行前测试
salt --summary "*" test.ping
#测试主机并汇总  
salt "*" cmd.run "ifconfig eth0 | awk '/inet/ {print \$2}'"
#执行远程命令; awk正则匹配inet行,转义$
salt -N "apps" cmd.script  salt://scripts/test.sh
#执行远程shell;apps应用组执行脚本


salt "*" pkg.version "redis" #查看yum包版本,install,remove
salt "*" service.status redis   #查看服务 ;stop,start,restart

执行命令

state.sls状态管理

# salt "*" state.highstate 
#salt初始化环境 ;复合状态的使用:base目录下寻找top.sls入口文件
# salt "*" state.sls  saltenv='prod' tests.filetest
#通过saltenv指定环境中sls所在的根目录(base、prod和dev )

salt "*" state.highstat pillarenv='html'
#例子:在默认base目录使用指定的pillar环境

Requisites(sls流程控制)

  • require:本state执行时需要先执行那些state
  • require_in:与require位置相反
  • watch:除了require外,也会监测依赖的state的状态,如果状态发生变化,做出反应(例如监控文件变化,发生变化后立即重启服务)
  • watch_in: 与watch位置相反
  • prereq:0.16.0 新增的功能,会通过test=True接口检查所依赖的state的状态,如果状态发生变化,执行
  • prereq_in:相反

grains 静态数据

只在启动minion时才采集一次数据

salt '*'  grains.items
#详细信息
salt '*'  grains.ls
#获取grains采集信息项目
salt '*'  grains.get  os
#获取所有系统安装的操作系统类型
salt -G os:CentOS cmd.run 'w '
#对centos系统执行远程命令 (w查看谁登陆在做什么操作)


salt -G 'master:127.0.0.1' grains.ls
#查看grains项;grains.items 查看详细 
salt "*"  grains.get master | head  -2
#查看master地址;用get方法获取items项的值
salt "*"  grains.items | grep   nodename  -A 1
#查看主机名;如 grains.get nodename

pillar 动态数据

salt '*' saltutil.refresh_pillar  #刷新所有机器上的pillar
salt '*' pillar.data pillarenv='live'  # #查看指定项目所有主机的pillar

模块

salt "*" saltutil.sync_modules #同步模块
#自定义模块推送到minion
salt "*" type.run "hello world"
#执行模块

salt '*' saltutil.sync_all
#同步所有

salt "*" sys.list_modules
#列出所有可执行的模块
salt "*" sys.list_state_functions pkg
#列举模块中的函数
salt "*" sys.doc pkg
#查看模块注释

~~salt api~~

实操:

初始化环境: http://ops.attacker.club/Automatic/salt_init.html 线上服务部署: http://ops.attacker.club/Automatic/salt_deploy.html

part 1 生产环境部署

salt-ssh --roster-file=/srv/salt/salt-master_tools/keys/roster  -i  "*" test.ping
salt-ssh --roster-file=/srv/salt/salt-master_tools/keys/roster  -i  "*"   state.sls init.salt-minion.install
salt-ssh --roster-file=/srv/salt/salt-master_tools/keys/roster  -i  "*"   state.sls init.salt-minion.uninstall

#通过salt-ssh 推送minion端,或者初始化时shell安装salt-minion
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年7月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • saltstack 自动化平台 - 日常管理
  • 常用
  • 命令行
  • state.sls状态管理
  • Requisites(sls流程控制)
  • grains 静态数据
  • pillar 动态数据
  • 模块
  • ~~salt api~~
  • 实操:
    • part 1 生产环境部署
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档