【基本介绍】
这里介绍master的配置文件。salt系统的配置很简单salt-master是通过一个名为master的文件配置,salt-minion是通过一个名为minion的文件配置。
【配置解析】
interface
默认值:0.0.0.0(所有的网络地址接口)
绑定到本地的某个网络地址接口
interface: 192.168.0.1
publish_port
默认值:4505
设置master与minion的认证通信端口
publish_port: 4505
user
默认值:root
运行salt进程的用户
user: root
max_open_files
默认值:100000
每一个minion连接到master,至少要使用一个文件描述符,如果足够多的minion连接到master上,你将会从控制台上看到salt-master crashes:
Too many open files (tcp_listener.cpp:335)
Aborted (core dumped)
默认值这个值取决于ulimit -Hn的值,即系统的对打开文件描述符的硬限制
如果你希望重新设置改值或者取消设置,记住这个值不能超过硬限制,提高硬限制取决于你的操作系统或分配,一个好的方法是internet找到对应操作系统的硬限制设置,比如这样搜索:
raise max open files hard limit debian
max_open_files: 100000
worker_threads
默认值:5
启动用来接收或应答minion的线程数。如果你有很多minion,而且minion延迟你的应答,你可以适度的提高该值.
在点对点的系统环境中使用时,该值不要被设置为3以下,但是可以将其设置为1
worker_threads: 5
ret_port
默认值:4506
这个端口是master用来发送命令或者接收minions的命令执行返回信息
ret_port: 4506
pidfile
默认值:/var/run/salt-master.pid
指定master的pid文件位置
pidfile: /var/run/salt-master.pid
root_dir
默认值:/
指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,好比chroot
root_dir: /
pki_dir
默认值:/etc/salt/pki
这个目录是用来存放pki认证秘钥
pki_dir: /etc/salt/pki
cachedir
默认值:/var/cache/salt
这个目录是用来存放缓存信息,特别是salt工作执行的命令信息
cachedir: /var/cache/salt
keep_jobs
默认值:24
设置保持老的工作信息的过期时间,单位小时
job_cache
默认值:True
设置master维护的工作缓存,这是一个很好的功能,当你的Minons超过5000台时,他将很好的承担这个大的架构,关闭这个选项,之前的工作执行以及工作系统将无法被利用,一般不推荐关掉改选项,开启改选项将会是很明智的,他将使master获得更快的IO系统
ext_job_cache
默认值:”
对所有的minions使用指定的默认值returner,当使用了这个参数来指定一个returner并且配置正确,minions将会一直将返回的数据返回到returner,这也会默认值禁用master的本地缓存
ext_job_cache: redis
minion_data_cache
默认值:True
minion data cache是关于minion信息存储在master上的参数,这些信息主要是pillar 和 grains数据.这些数据被缓存在cachedir定义的目录下的minion目录下以minion名为名的目录下并且预先确定哪些minions将从执行回复
minion_cache_dir: True
enforce_mine_cache
默认值:False
默认情况下当关闭了minion_data_cache,mine将会停止工作,因为mine是基于缓存数据,通过启用这个选项,我们将会显示的开启对于mine系统的缓存功能
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
open_mode: False
auto_accept
默认值:False
开启auto_accept。这个设置将会使master自动接受所有发送公钥的minions
auto_accept: False
autosign_file
默认值:/etc/salt/autosign.conf
如果autosign_file的值被指定,那么autosign_file将会通过该输入允许所有的匹配项,首先会搜索字符串进行匹配,然后通过正则表达式进行匹配。这是不安全的
autosign_file: /etc/salt/autosign.conf
client_acl
默认值:{}
开启对系统上非root的系统用户在master上执行特殊的模块,这些模块名可以使用正则表达式进行表示
client_acl:
fred:
- test.ping
- pkg.*
client_acl_blacklist
默认值:{}
黑名单用户或模块
这个例子表示所有非sudo用户以及root都无法通过cmd这个模块执行命令,默认情况改配置是完全禁用的
client_acl_blacklist:
users:
- root
- '^(?!sudo_).*$' # all non sudo users
modules:
- cmd
external_auth
默认值:{}
salt的认证模块采用外部的认证系统用来做认证和验证用户在salt系统中的访问区域
external_auth:
pam:
fred:
- test.*
token_expire
默认:43200
新令牌生成的时间间隔,单位秒,默认是12小时
token_expire: 43200
file_recv
默认值:False
允许minions推送文件到master上,这个选项默认是禁用的,出于安全考虑
file_recv: False
#######################
master模块管理
runner_dirs
默认值:[] 设置搜索runner模块的额外路径
runner_dirs: []
cython_enable
默认值:False
设置为true来开启对cython模块的编译
cython_enable: False
#######################
master状态系统设置
state_verbose
默认:False
state_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查
state_verbose: True
state_output
默认值:full
state_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse“时,将会被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置为”change”时,输出将会完全输出除非状态没有改变
state_output: full
state_top
默认值:top.sls
状态系统使用一个入口文件告诉minions在什么环境下使用什么模块,这个状态入口文件被定义在基础环境的相对根路径下
state_top: top.sls
external_nodes
默认值:None
这个外部节点参数允许salt来收集一些数据,通常被放置在一个入口文件或外部节点控制器.外部节点的选择是可执行的,将会返回ENC数据,记住如果两者都启用的话salt会将外部节点和入口文件的结果进行综合汇总。
external_nodes: cobbler-ext-nodes
renderer
默认值:yaml_jinja
使用渲染器用来渲染minions的状态数据
renderer: yaml_jinja
failhard
默认值:False
设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态
failhard: False
test
默认值:False
如果真的要作出改变或者仅仅通知将要执行什么改变时设置所有的状态调用为test
test: False
#######################
master文件服务器设置
fileserver_backend
默认值:
fileserver_backend:
- roots
salt支持模块化的后端文件系统服务器,它允许salt通过第三方的系统来管理收集文件并提供给minions使用,可以配置多个后端文件系统,这里支持gitfs、hgfs、roots、s3fs文件调用的搜索顺序按照后台文件系统的配置顺序来搜索,默认的设置只开启了标准的后端服务器roots,具体的根选项配置通过file_roots参数设置
fileserver_backend:
- roots
- gitfs
file_roots
默认值:
base:
- /srv/salt
salt运行一个轻量级的文件服务器通过ZeroMQ对minions进行文件传输,因此这个文件服务器是构造在master的守护进程中,并且不需要依赖于专用的端口
文件服务器的工作环境传递给master,每一个环境可以有多个跟目录,但是相同环境下多个文件的子目录不能相同,否则下载的文件将不能被可靠的保证,一个基础环境依赖于主的入口文件,如:
file_roots:
base:
- /srv/salt
dev:
- /srv/salt/dev/services
- /srv/salt/dev/states
prod:
- /srv/salt/prod/services
- /srv/salt/prod/states
hash_type
默认值:md5
hash_type是用来当发现在master上需要对一个文件进行hash时的hash使用的算法,默认是md5.但是它也支持sha1,sha224,shar256,shar384,shar512
hash_type: md5
file_buffer_size
默认值:1048576
文件服务器的缓存区大小
file_buffer_size: 1048576
#######################
pillar配置
pillar_roots
默认值:
base:
- /srv/pillar
设置不同的环境对应的存放pillar数据的目录,这个配置和file_roots参数配置一样
pillar_roots:
base:
- /srv/pillar
dev:
- /srv/pillar/dev
prod:
- /srv/pillar/prod
ext_pillar
当进行pillar数据收集时,这个ext_pillar参数允许调用任意数量的外部pillar接口,这个配置是基于ext_pillar函数,你可以从这个找到这个函数https://github.com/saltstack/salt/blob/develop/salt/pillar
默认情况下,这个ext_pillar接口没有配置运行
默认值:None
ext_pillar:
- hiera: /etc/hiera.yaml
- cmd_yaml: cat /etc/salt/yaml
- reclass:
inventory_base_uri: /etc/reclass
【参考引用】
http://blog.coocla.org/301.html
分享到:
相关推荐
在prod下面创建了一个modules的目录,所有的安装配置都放在这个目录下面了,里面分别又对应创建了对应的软件目录,每个软件目录下面的files目录用来存放的是软件包或者配置文件模板pkg基础包安装源码编译所需要用到...
要构建具有配置的 aws 访问权限的 master,请在引导之前设置以下环境变量。 aws_access_key=<此处为您的访问密钥> aws_secret_key=<此处为您的密钥> 通过这种方式,无需将这些值存储在具有配置管理的文件中,...
master、minion、syndic、密钥管理、runner、配置、状态和顶级文件、基于事件的执行、公式。 使用 SaltStack 配置和控制 Vagrant 环境。 将 SaltStack 与 Docker 容器一起使用并监控 Docker 主机系统。 真实世界的...
介绍储存库内容状态:SaltStack状态文件Struts:SaltStackStruts数据注意:文档和样本配置文件先决条件Salt Master安装在实用程序(工作站)节点上。 Salt Minion已安装在所有OpenStack节点上。 SELinux在所有节点上...
注意:文档和样本配置文件 先决条件 Salt Master安装在实用程序(工作站)节点上。 Salt Minion已安装在所有OpenStack节点上。 更新Salt Master 创建/etc/salt/master.d/99-salt-envs.conf file_roots : base :...
实验室有 1 个服务器 (kubbuild),我用它来构建 Kubernetes 二进制文件并充当 salt-master。 其余 5 台服务器(kubmasta、kubminion[1-4])是实际的 Kubernetes 集群,并且都充当 salt-minion。 话虽如此,要使 ...
您也可以找到我的用于备份,监视,Web服务器的自行车解决方案-某些配置可能难以理解(收集),但是它可以正常工作,希望对您有帮助))配置树我使用下一个文件夹树进行状态配置(您可以在salt / master配置文件中...
该项目提供了基于需求的基于配置文件的审核,实时安全事件通知,自动修复,警报和报告。 https://hubblestack.io 安装(GitFS) 这种安装方法直接订阅我们的GitHub存储库,固定到标签或分支。 此方法不需要安装...
盐 iptables关于尽管iptables配置被设计成一个公式,但它的名称中并没有包含公式,因为它的设计不符合 Salt Formula 准则。 因此,使用 Salt 的 GitFS 遥控器,这将无法实现,就像 Salt Formulas 应该实现的那样。 ...
通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作...
咸点文件使用无主的自动配置我的个人环境支持以下操作系统(到目前为止): Mac OS X安装Mac OS X 安装: ruby -e " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install ) " 安装盐...
盐层salthiera 是一个类似 hiera 的工具,旨在通过 ext_pillar 选项与 SaltStack Pillars 一起使用...设置安装 salthiera (on saltmaster only)$ gem install salthiera定义一个 /etc/salt/salthiera.yaml 配置文件 ---
11: 命令审计模块需要在各个salt-minion端安装agent.py,该文件位于项目下tools文件夹中,在salt-master运行 master.py接受来自agent.py的数据。,master.py需要配置数据库连接信息。直接编辑文件添加即可. git clone...
https://github.com/saltstack/salt-contrib/blob/master/states/archive.py 将此添加到 /srv/salt/_states/ 模块 应用服务器: 包括: wso2.as esb服务器: 包括: wso2.esb Struts 在柱子中可以设置以下项目...
通过更新master和minion文件,可以很容易地将其修改为对 master 和 minion 使用单独的机器。 目录根目录中的Vagrantfile配置为使用 Vagrant 的 salt 配置器。 这使得在本地开发和测试新服务器部署变得容易。 用法...
主机设置为自动接受master配置中的所有小键,以简化设置和使用。 我还启用了cli_summary 。 只要不运行make destroy卷就会保留下来(尽管永远不会删除状态和Struts文件)。 如果您想停一整天,然后再取货,只需运行...
哪些服务最终会在给定的主机上运行,将取决于配置目录中类似hadoop的文本列表文件,进而取决于通过盐粒定义的角色: accumulo_master将运行master,monitor和gc(如果还存在开发角色,则运行示踪剂) accumulo_...
熟悉Linux系统的基本操作和命令,包括文件管理、进程管理、网络配置等。 对于大规模系统的管理,需要掌握自动化运维工具,如Ansible、SaltStack等。 网络安全是系统运维中非常重要的一环,需要掌握常见的攻击方式和...