设为首页 收藏本站
查看: 2324|回复: 0

[经验分享] SaltSack入门(四)Salt常用模块使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-30 09:19:53 | 显示全部楼层 |阅读模式
以下用一些实例说明salt一些常用的模块,进一步熟悉salt使用。
模块参考地址:http://docs.saltstack.cn/zh_CN/latest/ref/states/all/index.html
pkg模块:
1、安装一个软件
1
2
3
vim:
  pkg.installed:
    - name: vim-enhanced



2、安装多个软件
1
2
3
4
5
vim:
  pkg.installed:
    - names:            #多个值时,要修改为复数,names
      - vim-enhanced
      - lrzsz



service模块:
1、安装apache,并启动
1
2
3
4
5
6
7
8
httpd:
  pkg.installed:
    - name: httpd
  service.running:
    - enable: True
    - require:         
    #一个声明,用于定义状态之间的依赖,说明httpd如果安装了,才执行service.running模块
      - pkg: httpd     # pkg代表用的什么模块



2、将配置文件分发到apache服务器
1
2
3
file.managed:
  - name: /etc/httpd/conf/httpd.conf
  - source: salt://apache/conf/httpd.conf



3、如果apache配置文件有变动,就重新加载配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
httpd:
  pkg.installed:
    - name: httpd
  file.managed:
    - name: /etc/httpd/conf/httpd.conf
    - source: salt://test/httpd.conf
    - require:
      - pkg: httpd
  service.running:
    - enable: True
    - reload: True
    - watch:            
    #监控httpd.confp文件是否发生变化,是就重新加载httpd服务
      - file: /etc/httpd/conf/httpd.conf
    - require:
      - pkg: httpd



cmd模块:
1、编译安装nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
nginx_source:
  file.managed:
    - name: /tmp/nginx-1.6.2.tar.gz
    - unless: test -f /tmp/nginx-1.6.2.tar.gz   
    #在这里用到了unless,就是做了个判断,判断有没有这个文件,如果没有就执行nginx_source ID,否则跳过
    - source: salt://test/nginx-1.6.2.tar.gz
nginx_unzip:
  cmd.run:
    - cwd: /tmp
    - names: tar zxf nginx-1.6.2.tar.gz
    - unless: test -d /tmp/nginx-1.6.2
    - require:
      - file: nginx_source
nginx_pkg:
  pkg.installed:
    - names:
      - gcc
      - make
      - openssl-devel
      - pcre-devel
      - zlib-devel
nginx_install:
  cmd.run:
    - cwd: /tmp/nginx-1.6.2
    - name: ./configure --prefix=/usr/local/nginx1.6 && make && make install && /usr/local/nginx1.6/sbin/nginx   
    #这一块为什么不用names呢,我也想用,可是他不是按顺序执行的,而是随机执行里面的命令的,容易造成了混乱。
    - require:     
    #依赖两个ID状态,也就是必须有/tmp/nginx-1.6.2这个目录,和安装了gcc、make、pcre等这些依赖包,才执行nginx_install这个ID
      - cmd: nginx_unzip               
      - pkg: nginx_pkg
    - unless: test -d /usr/local/nginx1.6



在这里介绍编译安装nginx思路,其中用到了file、cmd.run、pkg模块。

file模块:
1、文件分发
1
2
3
4
file_cp:
  file.managed:
   - name: /etc/httpd/conf/httpd.conf
   - source: salt://test/httpd.conf



2、目录分发
1
2
3
4
tmp_cp:
  file.recurse:
    - name: /tmp
    - source: salt://tmp



3、创建目录并赋予权限
1
2
3
4
5
6
/opt/tmp:
  file.directory:
    - user: nginx
    - group: nginx
    - file_mode: 744
    - makedirs: True



user模块:
1、创建用户nginx
1
2
3
4
5
6
7
8
9
create_user:
  user.present:  #用户不存在则创建,否则管理用户属性
    - name: nginx
    #- uid: 1501
    #- gid: 1501
    - createhome: False
    - shell: /sbin/nologin
    #- groups:
    #  - nginx



2、删除用户nginx
1
2
3
del_user:
  user.absent:
    - name: abc



group模块:
1、创建组abc
1
2
3
4
5
6
7
8
9
10
create_group:
  group.present:
    - name: abc
    #- gid: 1501
    - addusers:     #添加哪些用户到此组
      - user1
      - user2
    #- delusers:     #从此组中删除哪些用户
    #  - u1
    #  - u2



2、删除组abc
1
2
3
del_group:
  group.absent:
    - name: abc



cron模块:
1、添加定时任务计划
1
2
3
4
5
6
script_cron:
  cron.present:
    - name: /bin/bash /opt/tmp/test.sh
    - user: root
    - minute: 01
    - hour: 0



注:minute:分
hour:时
daymonth:日
month:月
dayweek:周


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92077-1-1.html 上篇帖子: redhat 6.4源码编译saltstack自动化安装脚本 下篇帖子: 利用saltstack 部署lnmp环境(yum版本)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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