目录
1. saltstack 实战(一) 安装saltstack与配置
2. saltstack 实战(二) 利用saltstack安装软件
3. saltstack 实战(三) 利用saltstack管理主机hosts文件
待更新...
利用saltstack管理主机hosts文件
创建saltstack host目录
mkdir -p /data/salt/salt/host /data/salt/pillar/host
/data/salt/salt/host/map.jinja
{% set settings = salt['pillar.get']('host')%}
/data/salt/salt/host/config.sls
{% from "host/map.jinja" import settings with context %} {% if 'tasks' in settings %} {% for task,task_options in settings.tasks.iteritems() %} host.{{ task }}: host.{{ task_options.type|default('present') }}: - name: '{{ task_options.name }}' - ip: '{{ task_options.ip }}' {% endfor %} {% endif %}
/data/salt/salt/host/init.sls
include: - host.config
/data/salt/pillar/host/init.sls
# - type: present ; present 添加 ; absent 删除 default: present # - name: 主机名 必须参数 # - ip: 对应IP地址 必须参数 host: tasks: node01: type: 'present' name: 'node01' ip: '172.16.50.111' node02: type: 'present' name: 'node02' ip: '172.16.50.118'
执行
salt-call state.sls host.config
查看
cat /etc/hosts ..... 172.16.50.111 node01 172.16.50.118 node02 .....
说明:
引用了pillar变量,查看pillar变量
salt-call pillar.items # 查看该主机拥有的所有pillar变量 salt-call pillar.get host # 查看该主机pillar变量 host salt-call pillar.get host:tasks:node01 # 查看该主机pillar变量 host下的tasks再下级的node01
转载于:https://blog.51cto.com/11889458/2295891