SaltStack 入门到精通第三篇:Salt-Minion配置文件详解
SaltStack 入门到精通第三篇:Salt-Minion配置文件详解
##### 主要配置设置 #####
| 配置 | 默认值 | 说明 | 例子 |
| default_include | minion.d/*.conf | master可以从其他文件读取配置,默认情况下master将自动的将master.d/*.conf中的配置读取出来并应用,其中master.d目录是相对存在于主配置文件所在的目录 |
default_include: minion.d/*.conf |
| master | salt | master服务器的ID | master : salt |
| ipv6 | False | minion是否应该通过IPV6连接master | ipv6 : False |
| retry_dns | 30 | minion在解析master的ip失败后的重试等待时间,设置为0,则关闭重试 | retry_dns : 30 |
| user | root | minion的运行用户,关系到minion执行命令的权限 | user : root |
| pidfile |
/var/run/salt-minion.pid |
minion的pid文件位置 |
pidfile: /var/run/salt-minion.pid |
| root_dir | / | 指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,好比chroot | root_dir: / |
| pki_dir | /etc/salt/pki/minion | 存储PIK信息的目录 |
pki_dir: /etc/salt/pki/minion |
| id | 不指定的话,salt通过socket.getfqdn()来获取主机的名称来作为标识,指定给ID,作为minion与master交互的身份标识 | id: 192.168.0.100 |
| append_domain | 指定一个主机名称或是一个域名,当socket.getfqdn()获取主机标识失败时候,可以用来作为替补ID | append_domain : 192.168.0.100 | |
| grains |
使用sls文件给minion自定义静态的grain信息。 grains相当于对minion特别信息的匹配对象组,例如例子里面的匹配粒子信息中roles值为webserber,memcache的minion |
## 注意sls文件是利用缩进两个空格来作为缩进标识 grains: roles: - webserver - memcache deployment: datacenter4 cabinet: 13 cab_u: 14-15 |
|
| cachedir |
/var/cache/salt/minion |
这个目录是用来存放缓存信息,特别是salt工作执行的命令信息 | cachedir: /var/cache/salt/minion |
| verify_env | True | 启动时候对配置目录进行验证并设置权限 | verify_env: True |
| cache_jobs | False | minion会在本地缓存salt执行过的命令返回数据。可以减少命令执行时间,减低IO,但结果可能不会实时 | cache_jobs: False |
| sock_dir | /var/run/salt/minion | minion socke保存目录 | sock_dir: /var/run/salt/minion |
| output | nested | 设置salt-call的默认输出方式,nested是使用默认设置的来输出 | output: nested |
| color | True | 是否对输出结果进行颜色渲染 | color : True |
| backup_mode | minion | 当进行文件更新,修改,***操作时,备份文件的方式,minion是本地进行备份 |
/etc/ssh/sshd_config: file.managed: - source: salt://ssh/sshd_config - backup: minion |
| acceptance_wait_time | 10 | 等待master接受minion的认证时间 |
acceptance_wait_time: 10 |
| acceptance_wait_time_max | 0 | 断线重试次数,如果设置为0,无限次重试,如果大于0,则连接重试到该设置值 |
acceptance_wait_time_max: 0 |
| random_reauth_delay | 60 | 随机重认证间隔(秒),例如当master修改key时,所有的minion需要重新认证,这个时候容易产生syn风暴,设置该随机值,可以使minion分不同时间进行重新认证,避免该问题 | random_reauth_delay:60 |
| loop_interval | 60 |
minion定时任务执行时间间隔 |
loop_interval: 60 |
| dns_check | True | 确保原先的dns解析是正常的 | dns_check: True |
| ipc_mode | ipc | windows缺少IPC协议支持,而是使用更慢的TCP来作为内部进程交流的协议,在windows上需要设置为tcp |
ipc_mode: ipc |
| tcp_pub_port | 4510 | 当设置为tcp模式时候,该参数覆盖掉原先minon指定的tcp端口 | tcp_pub_port: 4510 |
| tcp_pull_port | 4511 | tcp_pull_port: 4511 | |
| include | /etc/salt/extra_config | 可以包含其他文件中的配置,要启用此功能,通过此参数定义路径或文件,此路径可以是相对的也可以是绝对的,相对的,会被看作相对于主配置文件所在的目录,路径中还可以使用类似于shell风格的通配符,如果没有文件匹配的路径传递给此选项,那么master将会在日志中记录一条警告的消息 |
include: - /etc/salt/extra_config - /etc/roles/webserver |
##### Minion 模块管理配置 #####
| disable_modules | [] | 限制允许执行的模块,对特别的权限可以进行设置,防止服务器重启等 | disable_modules: [cmd,test] |
| module_dirs | [] | 模块可以通过指定任意目录进行加载;指定一系列的外部目录用于搜索minion的模块以及returners。指定的路径必须给minion完全的操作权限 |
module_dirs: [] |
| returner_dirs | [] | returner_dirs: [] | |
| states_dirs | [] | states_dirs: [] | |
| render_dirs | [] | render_dirs: [] | |
| providers | minion的模块provider可以通过参数providers来进行特别指定 |
providers: pkg: yumpkg5 |
|
| ython_enable | False | 允许加载加密的模块 | ython_enable: False |
##### State 管理设置 #####
| renderer |
yaml_jinja |
state配置文件支持下面的配置语法,通过执行该参数,告诉saltstatck解析state模板的语言方法
# yaml_jinja # yaml_mako # yaml_wempy # json_jinja # json_mako # json_wempy |
renderer: yaml_jinja |
| failhard | False | 设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态 | failhard: False |
| autoload_dynamic_modules | True | 自动发现并加载master上的模块 |
autoload_dynamic_modules: True |
| clean_dynamic_modules | True | 如果发现master上的模块已经清除,则自动清楚对应的模块 | clean_dynamic_modules : True |
| environment | None | master在运行states的时候,通常不会把minion分割出来给任意一个单独的环境,但在minion端,可以自行进行独立的环境设置 | environment:None |
|
state_top |
top.sls | 指定top.sls文件的位置 |
state_top: top.sls |
|
startup_states |
'' |
在minion daemon开始时执行states. # 'highstate' -- 执行 state.highstate # 'sls' -- 读取 sls_list 参数配置的路径下的sls文件列表并执行 # 'top' -- 读取top_file参数设置的文件并执行master上面设置的sls配置 |
startup_states: '' |
| sls_list | 当startup_states配置为sls,该参数列出minion要运行的states文件 |
sls_list: - edit.vim - hyper |
|
| top_file | " | 当startup_states是top时,指定要执行的top文件 | top_file: '' |
##### 文件目录设置 #####
#########################
| file_client | remote | 设置minion的文件客户端,reomote,默认选项,minon会到master去查找文件;设置为local,则minion会在本地查找配置文件 | file_client: remote |
| file_roots |
file_roots: base: - /srv/salt |
设置文件客户端路径 |
file_roots: base: - /srv/salt/ dev: - /srv/salt/dev/services - /srv/salt/dev/states prod: - /srv/salt/prod/services - /srv/salt/prod/states |
|
fileserver_limit_traversal |
False | 设置saltstack查找state文件时候,仅遍历查找带sls后缀的文件或是带_modules后缀的目录 |
fileserver_limit_traversal: False |
| pillar_roots |
pillar_roots: base: - /srv/pillar |
当file_client设置为local时候,该参数制定pillar的搜索路径 |
pillar_roots: base: - /srv/pillar |
###### 安全设置 #####
|
open_mode |
False | open_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True |
open_mode: False |
| permissive_pki_access | False | permissive_pki_access:False | |
| state_verbose | True | state_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查 | state_verbose:True |
| state_output | full | state_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse“时,将会被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置为”change”时,输出将会完全输出除非状态没有改变 | state_output:full |
| master_finger | '' | master_finger:'' |
###### Thread 设置 #####
| multiprocessing | True | 多线程支持 | multiprocessing: True |
##### Logging 设置 #####
| log_file | /var/log/salt/minion | log输出路径设置 |
#log_file: /var/log/salt/minion #log_file: file:///dev/log #log_file: udp://loghost:10514 # #log_file: /var/log/salt/minion #key_logfile: /var/log/salt/key |
| log_level | warning |
控制台(console)日志默认输出等级: 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical' |
log_level: warning |
| log_level_logfile | warning |
日志文件输出等级: 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'. |
log_level_logfile:warning |
| log_datefmt | '%H:%M:%S' | 控制台日志日期格式 |
log_datefmt: '%H:%M:%S' |
| log_datefmt_logfile | %Y-%m-%d %H:%M:%S' | 日志文件日期格式 | log_datefmt_logfile: '%Y-%m-%d %H:%M:%S' |
| log_fmt_console | '[%(levelname)-8s] %(message)s' | 控制台日志格式 |
log_fmt_console: '[%(levelname)-8s] %(message)s' |
| log_fmt_logfile | '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' | 日志文件信息格式 |
log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' |
| log_granular_levels | {} | 更加高级的指定日志输出 |
log_granular_levels: 'salt': 'warning', 'salt.modules': 'debug' |
###### Module 配置 #####
| test | True | 指定允许所有的模块运行测试模式 | test:True |
| test.foo | foo | 给测试模块test.foo指定一个简单的值 | test.foo: foo |
| test.bar |
[baz,quo] |
列表的测试模块值 | test.bar: [baz,quo] |
|
test.baz |
{spam: sausage, cheese: bread} | 测试模块指定字典格式的值 |
test.baz: {spam: sausage, cheese: bread} |
SaltStack 入门到精通第三篇:Salt-Minion配置文件详解的更多相关文章
- SaltStack 入门到精通第二篇:Salt-master配置文件详解
SaltStack 入门到精通第二篇:Salt-master配置文件详解 转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...
- Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
- java三篇博客转载 详解-vector,stack,queue,deque
博客一:转载自http://shmilyaw-hotmail-com.iteye.com/blog/1825171 java stack的详细实现分析 简介 我们最常用的数据结构之一大概就是stack ...
- Spark入门到精通--(第二节)Scala编程详解基础语法
Scala是什么? Scala是以实现scaleable language为初衷设计出来的一门语言.官方中,称它是object-oriented language和functional languag ...
- 【JUC系列第三篇】-CAS算法详解
作者 : 毕来生 微信: 878799579 1.CAS是什么? CAS是英文单词(Compare-And-Swap)的缩写,中文意思是:比较并替换.CAS需要有3个操作数:内存地址V,旧的预期值A, ...
- 第三篇 SpringBoot整合log4j2详解
源代码:https://pan.baidu.com/s/1d1Lwv1gIvVNltIKVWeEseA 提取码:wff0 SpringBoot整合Log4j2步骤: 1.删除spring-boot-s ...
- Simulink仿真入门到精通(十七) Simulink代码生成技术详解
17.1 基于模型的设计 基于模型设计是一种流程,较之传统软件开发流程而言,使开发者能够更快捷.更高效地进行开发.适用范围包括汽车电子信号处理.控制系统.通信行业和半导体行业. V字模型开发流程整体描 ...
- Jmeter(十七) - 从入门到精通 - JMeter后置处理器 -上篇(详解教程)
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
- Jmeter(二十七) - 从入门到精通 - Jmeter Http协议录制脚本(详解教程)
1.简介 LoadRunner的录制功能让性能测试脚本编写对于不懂代码的人变成了一件容易上手的事,但是由于LoadRunner收费高昂,庞大,一般企业很少用,除非必须使用.Jmeter作为性能测试中的 ...
随机推荐
- Arrow functions and the ‘this’ keyword
原文:https://medium.freecodecamp.org/learn-es6-the-dope-way-part-ii-arrow-functions-and-the-this-keywo ...
- 如何给USB移动硬盘格式化分区
硬盘盒装好后,插在电脑USB接口上,电脑正常识别到移动硬盘后,但因为全新硬盘没有分区,在"我的电脑"里是看不到盘符的.下面以40G移动硬盘分区讲一下硬盘如何分区.1.操作系统最好是 ...
- (转)Unity3D工程版本管理方案
自:http://blog.dou.li/unity3d%E5%B7%A5%E7%A8%8B%E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86%E6%96%B9%E6%A1%88 ...
- lvs 隧道模式请求没有回应的解决
众所周知,lvs共有三种转发机制:NAT,IPTUNNELING与DIRECT ROUTING 我在做隧道模式实验时遇到了一个问题,客户端向虚拟ip(即隧道0的ip)发送请求后,lvs服务器接收到了请 ...
- [Algorithm] Print 2-D array in spiral order
The idea to solve the problem is set five variable, first direction, we need to switch direction aft ...
- Python爬虫实战(二):爬百度贴吧
代码: # _*_ coding:utf-8 _*_ import urllib import urllib2 import re class Tool: removingImg = re.compi ...
- OpenStack云计算之路-Mitaka 版本
1.1 云计算简介 云计算(英语:cloud computing ),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备. 云计算是继1980年代 ...
- Android github XListView 分析(2-3)
本文内容 概述 XListView UML 图 下载 github XListView 概述 我们经常能见到 app 中的 listview 有"下拉更多"和"上拉加载& ...
- Android 显示网络图片
本文内容 环境 演示显示网络图片 本文演示 Android 如何显示网络图片.学习一门新的语言,最好办法就先了解该语言的语法和库,以及设计思想,再着手现实一些常用功能,毕竟以后用该语言是要写程序的,而 ...
- IOCCC(The International Obfuscated C Code Contest)
国际 C 语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际编程赛事,从 1984 年开始,每年举办一次(1997年.1 ...