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

[经验分享] saltstack 配置文件详解

[复制链接]

尚未签到

发表于 2018-7-31 13:19:31 | 显示全部楼层 |阅读模式
  #主配置 /etc/salt/masterinterface
  默认值:0.0.0.0(所有的网络地址接口)
  绑定到本地的某个网络地址接口
  1.interface: 192.168.0.1
  publish_port
  默认值:4505
  设置master与minion的认证通信端口
  1.publish_port: 4505
  user
  默认值:root
  运行salt进程的用户
  1.user: root
  worker_threads
  默认值:5
  启动用来接收或应答minion的线程数。如果你有很多minion,而且minion延迟你的应答,你可以适度的提高该值.
  在点对点的系统环境中使用时,该值不要被设置为3以下,但是可以将其设置为1
  1.worker_threads: 5
  ret_port
  默认值:4506
  这个端口是master用来发送命令或者接收minions的命令执行返回信息
  1.ret_port: 4506
  pidfile
  默认值:/var/run/salt-master.pid
  指定master的pid文件位置
  1.pidfile: /var/run/salt-master.pid
  root_dir
  默认值:/
  指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,好比chroot
  1.root_dir: /
  pki_dir
  默认值:/etc/salt/pki
  这个目录是用来存放pki认证秘钥
  1.pki_dir: /etc/salt/pki
  cachedir
  默认值:/var/cache/salt
  这个目录是用来存放缓存信息,特别是salt工作执行的命令信息
  1.cachedir: /var/cache/salt
  keep_jobs
  默认值:24
  设置保持老的工作信息的过期时间,单位小时
  job_cache
  默认值:True
  设置master维护的工作缓存,这是一个很好的功能,当你的Minons超过5000台时,他将很好的承担这个大的架构,关闭这个选项,之前的工作执行以及工作系统将无法被利用,一般不推荐关掉改选项,开启改选项将会是很明智的,他将使master获得更快的IO系统
  ext_job_cache
  默认值:”
  对所有的minions使用指定的默认值returner,当使用了这个参数来指定一个returner并且配置正确,minions将会一直将返回的数据返回到returner,这也会默认值禁用master的本地缓存
  1.ext_job_cache: redis
  minion_data_cache
  默认值:True
  minion data cache是关于minion信息存储在master上的参数,这些信息主要是pillar 和 grains数据.这些数据被缓存在cachedir定义的目录下的minion目录下以minion名为名的目录下并且预先确定哪些minions将从执行回复
  1.minion_cache_dir: True
  enforce_mine_cache
  默认值:False
  默认情况下当关闭了minion_data_cache,mine将会停止工作,因为mine是基于缓存数据,通过启用这个选项,我们将会显示的开启对于mine系统的缓存功能
  1.enforce_mine_cache: False
  sock_dir
  默认值:/tmp/salt-unix
  指定unix socket主进程通信的socket创建路径
  master的安全配置
  open_mode
  默认值:False
  open_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True
  1.open_mode: False
  auto_accept
  默认值:False
  开启auto_accept。这个设置将会使master自动接受所有发送公钥的minions
  1.auto_accept: False
  autosign_file
  默认值:/etc/salt/autosign.conf
  如果autosign_file的值被指定,那么autosign_file将会通过该输入允许所有的匹配项,首先会搜索字符串进行匹配,然后通过正则表达式进行匹配。这是不安全的
  1.autosign_file: /etc/salt/autosign.conf
  client_acl
  默认值:{}
  开启对系统上非root的系统用户在master上执行特殊的模块,这些模块名可以使用正则表达式进行表示
  1.client_acl:
  2.fred:
  3.- test.ping
  4.- pkg.*
  client_acl_blacklist
  默认值:{}
  黑名单用户或模块
  这个例子表示所有非sudo用户以及root都无法通过cmd这个模块执行命令,默认情况改配置是完全禁用的
  1.client_acl_blacklist:
  2.users:
  3.- root
  4.- '^(?!sudo_).*$'    # all non sudo users
  5.modules:
  6.- cmd
  external_auth
  默认值:{}
  salt的认证模块采用外部的认证系统用来做认证和验证用户在salt系统中的访问区域
  1.external_auth:
  2.pam:
  3.fred:
  4.- test.*
  token_expire
  默认:43200
  新令牌生成的时间间隔,单位秒,默认是12小时
  1.token_expire: 43200
  file_recv
  默认值:False
  允许minions推送文件到master上,这个选项默认是禁用的,出于安全考虑
  1.file_recv: False
  #######################
  master模块管理
  runner_dirs
  默认值:[] 设置搜索runner模块的额外路径
  1.runner_dirs: []
  cython_enable
  默认值:False
  设置为true来开启对cython模块的编译
  1.cython_enable: False
  master状态系统设置
  state_verbose
  默认:False
  state_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查
  1.state_verbose: True
  state_output
  默认值:full
  state_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse“时,将会被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置为”change”时,输出将会完全输出除非状态没有改变
  1.state_output: full
  state_top
  默认值:top.sls
  状态系统使用一个入口文件告诉minions在什么环境下使用什么模块,这个状态入口文件被定义在基础环境的相对根路径下
  1.state_top: top.sls
  external_nodes
  默认值:None
  这个外部节点参数允许salt来收集一些数据,通常被放置在一个入口文件或外部节点控制器.外部节点的选择是可执行的,将会返回ENC数据,记住如果两者都启用的话salt会将外部节点和入口文件的结果进行综合汇总。
  1.external_nodes: cobbler-ext-nodes
  renderer
  默认值:yaml_jinja
  使用渲染器用来渲染minions的状态数据
  1.renderer: yaml_jinja
  failhard
  默认值:False
  设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态
  1.failhard: False
  test
  默认值:False
  如果真的要作出改变或者仅仅通知将要执行什么改变时设置所有的状态调用为test
  test: False
  #######################
  master文件服务器设置
  fileserver_backend
  默认值:
  1.fileserver_backend:
  2.- roots
  salt支持模块化的后端文件系统服务器,它允许salt通过第三方的系统来管理收集文件并提供给minions使用,可以配置多个后端文件系统,这里支持gitfs、hgfs、roots、s3fs文件调用的搜索顺序按照后台文件系统的配置顺序来搜索,默认的设置只开启了标准的后端服务器roots,具体的根选项配置通过file_roots参数设置
  1.fileserver_backend:
  2.- roots
  3.- gitfs
  file_roots
  默认值:
  1.base:
  2.- /srv/salt
  salt运行一个轻量级的文件服务器通过ZeroMQ对minions进行文件传输,因此这个文件服务器是构造在master的守护进程中,并且不需要依赖于专用的端口
  文件服务器的工作环境传递给master,每一个环境可以有多个跟目录,但是相同环境下多个文件的子目录不能相同,否则下载的文件将不能被可靠的保证,一个基础环境依赖于主的入口文件,如:
  01.file_roots:
  02.base:
  03.- /srv/salt
  04.dev:
  05.- /srv/salt/dev/services
  06.- /srv/salt/dev/states
  07.prod:
  08.- /srv/salt/prod/services
  09.- /srv/salt/prod/states
  hash_type
  默认值:md5
  hash_type是用来当发现在master上需要对一个文件进行hash时的hash使用的算法,默认是md5.但是它也支持sha1,sha224,shar256,shar384,shar512
  1.hash_type: md5
  file_buffer_size
  默认值:1048576
  文件服务器的缓存区大小
  1.file_buffer_size: 1048576
  pillar配置
  pillar_roots
  默认值:
  1.base:
  2.- /srv/pillar
  设置不同的环境对应的存放pillar数据的目录,这个配置和file_roots参数配置一样
  1.pillar_roots:
  2.base:
  3.- /srv/pillar
  4.dev:
  5.- /srv/pillar/dev
  6.prod:
  7.- /srv/pillar/prod
  ext_pillar
  当进行pillar数据收集时,这个ext_pillar参数允许调用任意数量的外部pillar接口,这个配置是基于ext_pillar函数,你可以从这个找到这个函数https://github.com/saltstack/salt/blob/develop/salt/pillar
  默认情况下,这个ext_pillar接口没有配置运行
  默认值:None
  1.ext_pillar:
  2.- hiera: /etc/hiera.yaml
  3.- cmd_yaml: cat /etc/salt/yaml
  4.- reclass:
  5.inventory_base_uri: /etc/reclass
  从这里可以查到pillar的一些额外细节
  syndic server配置
  syncdic是salt master用来通过从整体架构中高于自己层级的master或者syndic接收命令传递给minions的中间角色。使用syndic非常简单,如果这个master在整体架构中,他的下级存在syndic server,那么需要将master的配置文件中的”order_master”值设置为True,如果这个master还需要运行一个syndic进程,扮演另外一个角色,那么需要设置主master server的信息(上一级master)
  千万别忘记了,这将意味着它将与其他master共享它的minion的id和pki_dir
  order_masters
  默认值:False
  当额外的数据需要发送和传递,并且这个master控制的minions是被低等级的master或syndic直接管理下,那么”order_masters”这个值必须得设置为True
  1.order_master: False
  syndic_master
  默认值:None
  如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级的master的地址
  1.syndic_master: masterofmasters
  syndic_master_port
  默认值:4506
  如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级master的监听端口
  1.syndic_master_port: 4506
  syndic_log_file
  默认值:syndic.log
  为syndic进程指定日志文件
  1.syndic_log_file: salt-syndic.log

运维网声明 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-544192-1-1.html 上篇帖子: Saltstack常见模块案例分析 下篇帖子: saltstack 配置文件详解(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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