制作简单初始化模块(在minion主机安装软件):
1.定义master配置文件file_roots
[root@localhost~]# cat /etc/salt/masterfile_roots: base: - /etc/salt/states prod: - /etc/salt/states/prod
创建目录:
mkdir -p /etc/salt/statesmkdir -p /etc/salt/states/prodmkdir -p /etc/salt/states/init
重启salt服务:
/etc/init.d/salt-master restart
salt-master目录结构如下图:
[root@localhost states]# pwd/etc/salt/states[root@localhost states]# ll总用量 12drwxr-xr-x 2 root root 4096 2月 10 11:52 initdrwxr-xr-x 2 root root 4096 2月 10 10:44 prod-rw-r--r-- 1 root root 43 2月 10 11:08 top.sls[root@localhost states]# tree.├── init│?? └── package.sls├── prod└── top.sls2 directories, 2 files
定义top.sls文件。
[root@localhost states]# cat top.sls //top.sls定义了运行环境以及需要运行的slsbase: //基础环境 'SN100-128': //主机,如果全部主机可以用'*' - init.package //使用init目录下,一个叫做package的状态文件.
定义package.sls 文件.
[root@localhost states]# cat init/package.sls package.init: //定义名字,id的声明(名字可以随意定义). pkg.installed: //pkg模块名.方法 #pkg.removed: - names: - lrzsz - mtr - nmap - nc
执行(在SN100-128主机安装lrzsz,mtr,nmap,nc软件):
[root@localhost states]# salt 'SN100-128' state.sls init.package
2.管理文件(统一管理/etc/security/limits.conf文件,是各minion保持配置文件的一致性.)
定义top.sls文件
[root@localhost states]# cat /etc/salt/states/top.sls //top.sls定义了运行环境以及需要运行的slsbase: #'SN100-128': '*': - init.package - init.limit #在top.sls文件中增加limit.
定义limit.sls 文件
[root@localhost init]# cat /etc/salt/states/init/limit.sls limit-conf-config: file.managed: - name: /etc/security/limits.conf //节点需要管理的文件 - source: salt://init/files/limits.conf //要载入到节点的源文件,源文件路径可以有多个,以第一个为主,如果第一个不存在则尝试第二个. - user: root //子节点上文件属主 - group: root //子节点上文件属组 - mode: 644 //文件属性
执行(配置文件limits.conf会同步到各minion中):
[root@localhost states]#salt '*' state.highstate
参考文档: