zoukankan      html  css  js  c++  java
  • 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}
    

      

  • 相关阅读:
    关于fragment点击能穿透问题
    Eclipse的PHP插件PHPEclipse安装和使用
    Eclipse的PHP插件PHPEclipse安装和使用
    解决在极光推送的时候会出现一个 JPush提示:缺少统计代码
    解决在极光推送的时候会出现一个 JPush提示:缺少统计代码
    Spring学习总结(17)——Spring AOP权限管理
    Gradle学习总结——抓重点学Gradle
    WebService学习总结(6)——WebService常用接口
    Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
    Spring学习总结(15)——Spring AOP 拦截器的基本实现
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/12084504.html
Copyright © 2011-2022 走看看