设为首页 收藏本站
查看: 1211|回复: 0

[经验分享] SaltStack 入门到精通第三篇:Salt-Minion配置文件详解

[复制链接]

尚未签到

发表于 2017-6-22 07:05:30 | 显示全部楼层 |阅读模式
SaltStack 入门到精通第三篇:Salt-Minion配置文件详解


作者:ArlenJ  发布日期:2014-06-09 17:52:16



  ##### 主要配置设置 #####
配置默认值说明例子
default_includeminion.d/*.confmaster可以从其他文件读取配置,默认情况下master将自动的将master.d/*.conf中的配置读取出来并应用,其中master.d目录是相对存在于主配置文件所在的目录  default_include: minion.d/*.conf
master saltmaster服务器的IDmaster : salt
ipv6Falseminion是否应该通过IPV6连接masteripv6 : False
retry_dns30minion在解析master的ip失败后的重试等待时间,设置为0,则关闭重试retry_dns : 30
userrootminion的运行用户,关系到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()获取主机标识失败时候,可以用来作为替补IDappend_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_envTrue启动时候对配置目录进行验证并设置权限verify_env: True
cache_jobsFalseminion会在本地缓存salt执行过的命令返回数据。可以减少命令执行时间,减低IO,但结果可能不会实时cache_jobs: False
sock_dir/var/run/salt/minionminion socke保存目录sock_dir: /var/run/salt/minion
outputnested设置salt-call的默认输出方式,nested是使用默认设置的来输出output: nested
colorTrue是否对输出结果进行颜色渲染color : True
backup_modeminion当进行文件更新,修改,***操作时,备份文件的方式,minion是本地进行备份  /etc/ssh/sshd_config:
  file.managed:
  - source: salt://ssh/sshd_config
  - backup: minion
acceptance_wait_time10等待master接受minion的认证时间  acceptance_wait_time: 10
acceptance_wait_time_max0断线重试次数,如果设置为0,无限次重试,如果大于0,则连接重试到该设置值  acceptance_wait_time_max: 0
random_reauth_delay60随机重认证间隔(秒),例如当master修改key时,所有的minion需要重新认证,这个时候容易产生syn风暴,设置该随机值,可以使minion分不同时间进行重新认证,避免该问题random_reauth_delay:60
loop_interval60  minion定时任务执行时间间隔
  loop_interval: 60
dns_checkTrue确保原先的dns解析是正常的dns_check: True
ipc_modeipcwindows缺少IPC协议支持,而是使用更慢的TCP来作为内部进程交流的协议,在windows上需要设置为tcp  ipc_mode: ipc
tcp_pub_port 4510当设置为tcp模式时候,该参数覆盖掉原先minon指定的tcp端口tcp_pub_port: 4510
tcp_pull_port 4511tcp_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_enableFalse允许加载加密的模块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
failhardFalse设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态failhard: False
autoload_dynamic_modulesTrue自动发现并加载master上的模块  autoload_dynamic_modules: True
clean_dynamic_modulesTrue如果发现master上的模块已经清除,则自动清楚对应的模块clean_dynamic_modules : True
environmentNonemaster在运行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_clientremote设置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
Falseopen_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True  open_mode: False
permissive_pki_accessFalse permissive_pki_access:False
state_verboseTruestate_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查state_verbose:True
state_outputfullstate_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse“时,将会被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置为”change”时,输出将会完全输出除非状态没有改变state_output:full
master_finger'' master_finger:''
  ######         Thread 设置        #####
multiprocessingTrue多线程支持multiprocessing: True
  #####         Logging 设置       #####
log_file/var/log/salt/minionlog输出路径设置  #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_levelwarning  控制台(console)日志默认输出等级:
  'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'
log_level: warning
log_level_logfilewarning  日志文件输出等级:
  '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 配置      #####
testTrue指定允许所有的模块运行测试模式test:True
test.foofoo给测试模块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}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-386615-1-1.html 上篇帖子: DotNet加密方式解析--数字签名 下篇帖子: Anliven
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表