SaltStack学习笔记

来源:互联网 发布:中科院数据共享平台 编辑:程序博客网 时间:2024/06/05 10:27

一、使用pillar定义变量
salt-master

/etc/salt/master:

interface: 192.168.89.50publish_port: 4505timeout: 10file_roots:  base:    - /home/salt/  dev:    - /home/salt/dev/services    - /home/salt/dev/states  prod:    - /home/salt/prod/services    - /home/salt/prod/statespillar_roots:  base:    - /home/salt/pillar

salt-minion

/etc/salt/minion:

master: 192.168.89.50master_port: 4506id: docker01

1、pillar更新变量
pillar目录树

# tree/home/salt/pillar/├── redis│   └── redis.sls├── svn│   └── svn.sls└── top.sls
# cat /home/salt/pillar/top.slsbase:  'docker01':    - redis.redis    - svn.svn
# cat /home/salt/pillar/redis/redis.slsredis:  port: 6379  bind: 192.168.89.50  timeout: 300  loglevel: warning  dir: /data1/redis  master: 192.168.89.50  master_port: 6379  maxclients: 30  maxmemory: 128MB
# cat /home/salt/pillar/svn/svn.slssubversion:  repodir: /var/svn

更新变量:

# salt 'docker01' saltutil.refresh_pillar# salt 'docker01' pillar.get subversiondocker01:    ----------    subversion:        ----------        repodir:            /var/svn# salt 'docker01' pillar.get redisdocker01:    ----------    redis:        ----------        bind:            192.168.89.50        dir:            /data1/redis        loglevel:            warning        master:            192.168.89.50        master_port:            6379        maxclients:            30        maxmemory:            128MB        port:            6379        timeout:            300

二、SLS文件使用jinja模块
注意区分SLS文件中加与不加“-template: jinja”,在minion端生成的文件。

# tree /home/salt/home/salt├── svn│   ├── svnserve│   └── svn.sls└── top.sls│......
# cat /home/salt/top.slsbase:  'docker01':    - svn.svn
# cat /home/salt/svn/svn.sls/etc/sysconfig/svnserve:  file.managed:    - source: salt://svn/svnserve    - template: jinja    - makedirs: True    - user: root    - group: root    - mode: 644
# cat /home/salt/svn/svnserveOPTIONS='-r {{salt['pillar.get']('repodir', '/var/svn')}}'
# salt 'docker01' salt.sls svn.svn(docker01)# cat /etc/sysconfig/svnserveOPTIONS='-r /var/svn'
# cat /home/salt/svn/svn.sls/etc/sysconfig/svnserve:  file.managed:    - source: salt://svn/svnserve    #- template: jinja    - makedirs: True    - user: root    - group: root    - mode: 644(docker01)# cat /etc/sysconfig/svnserve OPTIONS='-r {{salt['pillar.get']('repodir', '/var/svn')}}'
0 0
原创粉丝点击