本文系统:centos6.5
1 2 3 4 | [root@master salt]# rpm -qa |grep saltsalt-minion-2014.1.7-3.el6.noarchsalt-master-2014.1.7-3.el6.noarchsalt-2014.1.7-3.el6.noarch |
salt-minion位置:
1 | /etc/salt/minion |
##### Primary configuration settings #####
#default_include: minion.d/*.conf #默认值 :minion.d/*.conf ; minion 可以从其他文件读取配置,默认情况下minion将自动的将minion.d/*.conf中的配置读取出来并应用,其中minion.d目录是相对存在于主配置文件所在的目录
1 | default_include: minion.d/*.conf |
#master: salt #默认值 : salt ; master服务器的ID
1 | master: 192.168.28.141 |
# retry_dns: 30 # 默认值 : 30 ;minion在解析master的ip失败后的重试等待时间,设置为0,则关闭重试
1 | retry_dns: 30 |
#master_port: 4506 #默认值 :4506 ; 设置主回复和认证服务器使用的端口
1 | master_port: 4506 |
#user: root #默认值 :root ; minion的运行用户,关系到minion执行命令的权限
1 | user: root |
#pidfile: /var/run/salt-minion.pid # 默认值 : pidfile: /var/run/salt-minion.pid ; minion的pid文件位置
1 | pidfile: /var/run/salt-minion.pid |
#root_dir: / #默认值 : / ;指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,好比chroot
1 | root_dir: / |
#pki_dir: /etc/salt/pki/minion # 默认值 : /etc/salt/pki/minion ; 存储PIK信息的目录
1 | pki_dir: /etc/salt/pki/minion |
#id: # 默认值 : null ; 指定给ID,作为minion与master交互的身份标识,不指定的话,salt通过socket.getfqdn()来获取主机的名称来作为标识
1 | id: _host_serv_1.lansgg.com |
#append_domain: # 默认值 : null ;指定一个主机名称或是一个域名,当socket.getfqdn()获取主机标识失败时候,可以用来作为替补ID
1 | append_domain: error_192_168_28_140 |
#grains: #默认值 : ;使用sls文件给minion自定义静态的grain信息。grains相当于对minion特别信息的匹配对象组,例如例子里面的匹配粒子信息中roles值为webserber,memcache的minion
1 2 3 4 5 6 7 8 | grains: roles: - webserver - memcache deployment: datacenter4 cabinet: 13 cab_u: 14-15#cachedir: /var/cache/salt/minion # 默认值 : /var/cache/salt/minion ; 存放缓存信息,salt工作执行的命令信息 |
1 | cachedir: /var/cache/salt/minion |
#verify_env: True # 默认值 : True ; 启动时候对配置目录进行验证并设置权限
1 | verify_env: True |
#cache_jobs: False # 默认值 :False ; minion会在本地缓存salt执行过的命令返回数据。可以减少命令执行时间,减低IO,但结果可能不会实时
1 | cache_jobs: False |
#sock_dir: /var/run/salt/minion # 默认值 : /var/run/salt/minion ; minion socket保存目录
1 | sock_dir: /var/run/salt/minion |
#output: nested # 默认值 : nested ; 设置salt-call的默认输出方式,nested是使用默认设置的来输出
1 | output: nested |
#color: True # 默认值 :True ; 是否对输出结果进行颜色渲染
1 | color: True |
# /etc/ssh/sshd_config:
# file.managed:
# - source: salt://ssh/sshd_config
# - backup: minion
# 默认值 : 本功能关闭 ;备份文件,管理文件,递归在“cachedir”/ file_backups相对于原始位置和附加时间戳;唯一有效的设置是“minion” 默认情况下禁用。另外这个状态可以为每个文件指定文件
#backup_mode: minion # 默认值 : minion ; 当进行文件更新,修改操作时,备份文件的方式,minion是本地进行备份
1 2 3 4 5 6 7 | /etc/ssh/sshd_config: file.managed: - source: salt://ssh/sshd_config - backup: minion |
#acceptance_wait_time: 10 # 默认值 : 10 ; 等待master接受minion的认证时间
1 | acceptance_wait_time: 10 |
#acceptance_wait_time_max: 0 # 默认值 : 0 ; 断线重试次数,如果设置为0,无限次重试,如果大于0,则连接重试到该设置值
1 | acceptance_wait_time_max: 0 |
#rejected_retry: False # 默认值 : False ; 向master申请key的时候,被拒绝,是否重试
1 | ejected_retry: False |
#random_reauth_delay: 60 # 默认值 : 60 ;随机重认证间隔(秒),例如当master修改key时,所有的minion需要重新认证,这个时候容易产生syn风暴,设置该随机值,可以使 minion分不同时间进行重新认证,避免该问题
1 | random_reauth_delay: 60 |
auth_timeout: 3 # 默认值 : 3 ;认证超时时间(s)
1 | auth_timeout: 5 |
#loop_interval: 60 # 默认值 : 60 ;minion定时任务执行时间间隔 s
1 | loop_interval: 300 |
#grains_refresh_every = 1 # 默认值 1 ; 对grains定时检测,(min),0为不检测
1 | #grains_refresh_every = 1 |
# grains_cache: False # 默认值 : False ;对grains进行缓存
1 | grains_cache: False |
#dns_check: True # 默认值 : True ; 检测dns解析是否正常的
1 | dns_check: True |
#ipc_mode: ipc # 默认值 : ipc ; windows缺少IPC协议支持,而是使用更慢的TCP来作为内部进程交流的协议,在windows上需要设置为tcp
1 | ipc_mode: ipc |
#tcp_pub_port: 4510
#tcp_pull_port: 4511 ;上面 当设置为tcp模式时候,该参数覆盖掉原先minon指定的tcp端口
1 2 | tcp_pub_port: 4510tcp_pull_port: 4511 |
# include: /etc/salt/extra_config # 默认值 : /etc/salt/extra_config ;可以包含其他文件中的配置,要启用此功能,通过此参数定义路径或文件,此路径可以是相对的也可以是绝对的,相对的,会被看作相对于主配置文件所在的目录, 路径中还可以使用类似于shell风格的通配符,如果没有文件匹配的路径传递给此选项,那么master将会在日志中记录一条警告的消息
1 2 3 | #include: - /etc/salt/extra_config - /etc/roles/webserver |
##### Minion module management #####
#disable_modules: [cmd,test] # ; 限制允许执行的模块,对特别的权限可以进行设置,防止服务器重启等
1 | disable_modules: [cmd,test] |
#module_dirs: []
#returner_dirs: []
#states_dirs: []
#render_dirs: []
########模块可以通过指定任意目录进行加载;指定一系列的外部目录用于搜索minion的模块以及returners。指定的路径必须给minion完全的操作权限
1 2 3 4 | module_dirs: []returner_dirs: []states_dirs: []render_dirs: [] |
#providers: # ; minion的模块provider可以通过参数providers来进行特别指定
1 2 | providers: pkg: yumpkg5 |
##### State Management Settings #####
#renderer: yaml_jinja # 默认值 : yaml_jinja ;state配置文件支持下面的配置语法,通过执行该参数,告诉saltstatck解析state模板的语言方法# yaml_jinja
# yaml_mako # yaml_wempy # json_jinja # json_mako # json_wempy
1 | renderer: yaml_jinja |
#failhard: False # 默认值 : False ; 设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态
1 | failhard: False |
#autoload_dynamic_modules: True # 默认值 : True ;自动发现并加载master上的模块
1 | autoload_dynamic_modules: True |
#clean_dynamic_modules: True # 默认值 : True ;如果发现master上的模块已经清除,则自动清楚对应的模块
1 | clean_dynamic_modules: True |
#environment: None # 默认值 : None ;master在运行states的时候,通常不会把minion分割出来给任意一个单独的环境,但在minion端,可以自行进行独立的环境设置
1 | environment: None |
#state_top: top.sls # 默认值 : top.sls ; 指定top.sls文件的位置
1 | state_top: top.sls |
#startup_states: '' # 默认值: ‘‘ ;在minion daemon开始时执行states. # 'highstate' -- 执行 state.highstate # 'sls' -- 读取 sls_list 参数配置的路径下的sls文件列表并执行 # 'top' -- 读取top_file参数设置的文件并执行master上面设置的sls配置
1 | startup_states: '' |
#sls_list: # 默认值 : ; 当startup_states配置为sls,该参数列出minion要运行的states文件
1 2 3 | sls_list: - edit.vim - hyper |
#top_file: '' # 默认值 :’’ ; 当startup_states是top时,指定要执行的top文件
1 | top_file: '' |
##### File Directory Settings #####
#file_client: remote # 默认值 : remote ; 设置minion的文件客户端,reomote,默认选项,minon会到master去查找文件;设置为local,则minion会在本地查找配置文件
1 | file_client: remote |
#file_roots:
# base:
# - /srv/salt # 默认值 : ; 设置文件客户端路径
1 2 3 4 5 6 7 8 9 | 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 # 默认值 : False ;设置saltstack查找state文件时候,仅遍历查找带sls后缀的文件或是带_modules后缀的目录
1 | fileserver_limit_traversal: False |
#pillar_roots: # 默认值 : ; 当file_client设置为local时候,该参数制定pillar的搜索路径
1 2 3 | pillar_roots: base: - /srv/pillar |
###### Security settings #####
#open_mode: False # 默认值 : False ; open_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受 所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True
1 | open_mode: False |
#permissive_pki_access: False # 默认值 : False ;pki keys的查看权限
1 | permissive_pki_access:False |
#state_verbose: True # 默认值 :True ;state_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查
1 | state_verbose: True |
#state_output: full # 默认值 : full ;state_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse“时,将会 被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置为”change”时,输出 将会完全输出除非状态没有改变
1 | state_output: full |
#master_finger: '' # 默认值 : ' ' ;
1 | master_finger: '' |
###### Thread settings #####
#log_file: /var/log/salt/minion # 默认值 : /var/log/salt/minion ; log输出路径设置 ;并且可以输送到远端
1 2 3 | #log_file: /var/log/salt/minion#log_file: file:///dev/loglog_file: udp://loghost:10514 |
#key_logfile: /var/log/salt/key # 默认值 : /var/log/salt/key ; key log输出路径
1 | key_logfile: /var/log/salt/key |
#log_level: warning # 默认值 : warning ;控制台(console)日志默认输出等级: 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'
1 | log_level: warning |
#log_level_logfile: # 默认值 : warning ;日志文件输出等级:'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
1 | log_level_logfile:warning |
#log_datefmt: '%H:%M:%S' # 默认值 : '%H:%M:%S' ; 控制台日志日期格式
1 | log_datefmt: '%H:%M:%S' |
#log_datefmt_logfile: '%Y-%m-%d %H:%M:%S' # 默认值 :'%Y-%m-%d %H:%M:%S' ; 日志文件日期格式
1 | log_datefmt_logfile: '%Y-%m-%d %H:%M:%S' |
#log_fmt_console: '[%(levelname)-8s] %(message)s' # 默认值 : '[%(levelname)-8s] %(message)s' ; 控制台日志格式
1 | log_fmt_console: '[%(levelname)-8s] %(message)s' |
#log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' # 默认值 : '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' ; 日志文件信息格式
1 | log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s' |
#log_granular_levels: {} # 默认值 : {} ; 更加高级的指定日志输出
1 2 3 | log_granular_levels: 'salt': 'warning', 'salt.modules': 'debug' |
###### Module configuration #####
#test: True # 默认值 : True ; 指定允许所有的模块运行测试模式
1 | test: True |
#test.foo: foo # 默认值 : foo ; 给测试模块test.foo指定一个简单的值
1 | test.foo: foo |
#test.bar: [baz,quo] # 默认值 : [baz,quo] ; 列表的测试模块值
1 | test.bar: [baz,quo] |
#test.baz: {spam: sausage, cheese: bread} # 默认值 : {spam: sausage, cheese: bread} ; 测试模块指定字典格式的值
1 | test.baz: {spam: sausage, cheese: bread} |

本文详细介绍 SaltStack 的配置选项,包括 minion 和 master 的配置细节,如网络设置、安全设置及模块配置等。
1794

被折叠的 条评论
为什么被折叠?



