Default: salt
设置为master节点的主机名或者是IP地址。IPv6地址的配置方式参照ipv6。
master: salt
New in version 2015.8.0.
master选项也可以设置成ip:port的形式。
master: localhost:1234
对于带端口的IPv6地址,请记住将IP地址放在中括号里,并将该行用单引号括起来使其成为字符串:
master: '[2001:db8:85a3:8d3:1319:8a2e:370:7348]:1234'
如果在master配置文件中也使用master_port选项指定了端口,则在minion配置中的master_port设置将会被master端的配置覆盖。
这个master选项还可以用来定义一个master节点列表,以启用multi-master部署模式。
master:
- address1
- address2
Changed in version 2014.7.0: 可以动态配置master服务器。 master选项的值可以设置为将要执行的一个模块函数,并假设返回值是所需master服务的ip或主机名。 如果是指定的一个函数,则必须同时将master_type选项设置为func,以告诉minion该值要运行的是函数而不是一个域名。
master: module.function
master_type: func
此外,如果minion不使用multi-master部署模式,还可以将minion配置为使用一个master服务的地址列表作为failover列表,先尝试第一个地址,然后尝试第二个等,直到minion成功连接。 要启用此行为,请将master_type设置为failover:
master:
- address1
- address2
master_type: failover
Default: None
是否应通过IPv6连接master服务器。 默认情况下,salt minion将尝试自动检测到master连接的IPv6连接。
ipv6: True
New in version 2015.8.0.
指定master服务地址的所使用的格式。 有效选项为default或ip_only。 如果指定了ip_only,则master地址将不会拆分为IP和PORT,因此请确保在master配置设置中仅设置了IP(或域名)。
master_uri_format: ip_only
New in version 2018.3.0.
Default: False
使用Master Tops系统定义的SLS targets通常会安排在Top File中定义的任何匹配之后执行。 将此选项设置为True可使minion首先执行Master Tops states。
master_tops_first: True
New in version 2014.7.0.
Default: str
定义master的服务类型, 可以是 str, failover, func 或者 disable.
master_type: failover
如果此选项设置为故障转移,则master选项必须定义为一个master服务地址的列表。 然后,minion将会按照列表中指定的顺序尝试每个master,直到它成功连接。 还必须设置master_alive_interval,这决定了minion将验证master的存活的频率。
master_type: func
如果需要通过执行函数而不是读入静态master服务的值来动态分配master服务地址,请将其设置为func。 这可用于从执行模块管理minion的master设置。 只需更改模块中的算法以返回新的master ip/fqdn,重新启动minion,它就将会连接到新的master。
从版本2016.11.0开始,此选项可以设置为disable,并且minion永远不会尝试与master设备通信。 这对于运行无master服务的minion守护进程很有用。
master_type: disable
New in version 2014.7.0.
Default: 1048576
传递非常大的事件数据时可能会导致minion消耗大量内存。 此值调整允许进入minion事件总线的消息的最大大小。 该值以字节表示。
max_event_size: 1048576
New in version 2019.2.0.
Default: True
当一个minion启动时,它会在事件总线上发送一个通知,其标签如下所示:salt/minion/<minion_id>/start。 由于历史原因,minion还发送了一个类似的事件,其中包含如下事件标记:minion_start。 当有许多minions时,这种重复可能会在事件总线上造成很多混乱。 在minion配置中设置enable_legacy_startup_events:False以确保仅发送salt/minion/<minion_id>/start事件。 从Salt Sodium发行版本开始,此选项将默认为False。
enable_legacy_startup_events: True
New in version 2016.3.0.
Default: False
如果minion处于multi-master模式并且minion配置文件中master_type
选项设置为failover,则此设置可以设置为True以强制minion在列表中第一个master服务器恢复服务时,将自己连接的master重新切换回第一个master服务上。
master_failback: False
New in version 2016.3.0.
Default: 0
如果minion处于multi-master模式并且minion配置文件中master_type
选项设置为failover,并且启用了master_failback
选项, 那么这个配置项将定义通过ping检测top master服务是否恢复的一个时间间隔,以秒为单位。
master_failback_interval: 0
Default: 0
配置minion以秒为单位验证当前master服务是否存活并正常返回响应的频率。 如果minion发现现有的master服务已经死了,它将尝试与列表中的下一个master建立连接。
master_alive_interval: 30
New in version 2014.7.0.
Deprecated since version 2019.2.0.
Default: False
Warning: 在 Salt 2019.2.0及以后版本中,该配置项已经被弃用,请使用random_master作为替代。
master_shuffle: True
New in version 2014.7.0.
Changed in version 2019.2.0: 如果第一个master服务器在故障后重新联机,master_failback选项可以与random_master一起使用,以强制minion恢复连接到列表中的第一个master服务器。 请注意,必须将master_type设置为failover才能使master_failback设置生效。
Default: False
如果master配置项是一个服务地址的列表,则在minion尝试连接之前会先将其洗牌,以便在所有可用主服务器上平均分发minions。 这是使用Python的random.shuffle方法实现的。
如果在“master”参数设置中将多个master服务地址定义为一个列表,则默认行为始终是尝试按列出的顺序连接到它们。 如果random_master设置为True,则以上连接行为将会在Minion启动时执行一个随机化分配。 这有助于平衡分配执行salt-call请求的许多minions的负载,例如,来自cron作业。 如果仅列出一个master服务器,则此设置会被忽略并记录一条警告信息。
random_master: True
Note: 当同时启用了 failover, master_failback 和 random_master 配置项时,只有在选择 "secondary masters" 时才会执行随机分配操作。此时排在列表第一个的master会被random.shuffle 调用所忽略。
Default: 30
如果名称解析失败,使用该配置项设置在尝试解析master主机名之前等待的秒数。 默认为30秒。 如果minion应该关闭而不继续重试,则设置为零。
retry_dns: 30
New in version 2018.3.4.
Default: None
如果名称解析失败,则设置解析master主机名时要执行的尝试次数。 默认情况下,minion将无限期重试。
retry_dns_count: 3
Default: 4506
指定master服务的端口,注意这需要与Salt Master服务器上的ret_port选项一致。
master_port: 4506
Default: 4505
指定master发布服务器的端口,这需要与Salt master上的publish_port选项一致。
publish_port: 4505
New in version 2018.3.0.
建立与Master的连接时使用的网卡接口名称。
如果在命名的网卡接口上配置了多个IP地址,则将选择第一个IP地址。 在这种情况下,为了更好的选择特定地址,请考虑使用source_address选项。
要使用命名网卡接口中的IPv6地址,请确保minion已经启用了配置项ipv6,即
ipv6:true
。
如果指定的网络接口是关闭状态的,minion将避免使用它,并且把自己的服务绑定到0.0.0.0(所有接口)。
警告 此选项需要所选传输使用的现有版本的基础库有以下要求:
- zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
- tcp requires tornado >= 4.5
配置样例:
source_interface_name: bond0.1234
New in version 2018.3.0.
将Minion连接到Master时要使用的源IP地址或域名。 有关与Master的IPv6连接,请参阅ipv6配置项。
警告 此选项需要所选传输使用的现有版本的基础库要求如下:
- zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
- tcp requires tornado >= 4.5
配置样例:
source_address: if-bond0-1234.sjc.us-west.internal
New in version 2018.3.0.
将Minion连接到Master ret服务器时要使用的本地源端口。
警告 此选项需要所选传输使用的现有版本的基础库有以下要求:
- zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
- tcp requires tornado >= 4.5
配置样例:
source_ret_port: 49017
New in version 2018.3.0.
将Minion连接到master发布服务器时要使用的本地源端口。
警告 此选项需要所选传输使用的现有版本的基础库有以下要求:
- zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
- tcp requires tornado >= 4.5
配置样例:
source_publish_port: 49018
Default: root
指定运行Salt 服务进程的系统用户。
user: root
Default: ''
用户通过sudo运行salt远程执行命令。 如果启用此选项,则将使用sudo更改执行远程命令的活动用户。 如果启用,则需要允许用户通过sudoers文件访问salt minion配置为运行的用户。 最常见的选择是使用root用户。 如果设置了此选项,则还应将用户选项设置为非root用户。 如果从root minion迁移到non root minion,则应清除minion缓存,并且需要将minion pki目录更改为新用户的所有权。
sudo_user: root
Default: /var/run/salt-minion.pid
指定进程的pidfile路径。
pidfile: /var/run/salt-minion.pid
Default: /
此目录将会被预先附加到以下选项的前面:pki_dir,cachedir,log_file,sock_dir和pidfile。
root_dir: /
Default: /etc/salt/minion
指定minion使用的配置文件。
conf_file: /etc/salt/minion
Default: /etc/salt/pki/minion
指定存放minion的公私密钥的路径。
pki_dir: /etc/salt/pki/minion
Default: the system's hostname
See also: Salt Walkthrough 设置Salt Minion部分包含有关如何确定主机名的详细信息。
明确声明此minion使用的id。 由于Salt使用分离的id,因此可以在同一台机器上运行多个minions但具有不同的id。
id: foo.bar.com
New in version 0.17.2.
Default: True
当minion配置中没有静态定义minion的id时,将minion id缓存到文件中。 当从系统中自动获取minion id的方案改变时,此设置可防止潜在问题,这可能导致minion失去与master的连接。 要关闭minion id缓存,请将此配置设置为False。
For more information, please see Issue #7558 and Pull Request #8488.
minion_id_caching: True
Default: None
如果域名不存在,则将域附加到主机名。 这对于socket.getfqdn()调用实际上不会返回FQDN结果的系统(例如,Solaris)很有用。
append_domain: foo.org
Default: False
在生成minion id时将其转换为小写。 在当一些主机以大写形式获得minion id时很有用。 但是启用了缓存功能的ID值将保持不变并且不会转换。
minion_id_lowercase: True
Default: /var/cache/salt/minion
Minion cache 数据的保存路径。
此目录可能包含敏感数据,因此应受到更多地保护。
cachedir: /var/cache/salt/minion
Default: ""
指定用于彩色命令行输出的颜色主题的路径。
color_theme: /etc/salt/color_theme
Default: [] (the empty list) for regular minions, ['cachedir'] for proxy minions.
将minion_id附加到这些配置目录。 帮助在同一台机器上运行多个proxies和minions。 列表中允许的元素:pki_dir,cachedir,extension_modules。 通常不需要配置,除非需要在同一台机器上运行多个proxies和minions时。
append_minionid_config_dirs:
- pki_dir
- cachedir
Default: True
在启动时验证并设置配置目录的权限。
verify_env: True
Note 设置为True时,verify_env选项需要对配置目录(/etc/salt/)具有WRITE访问权限。 在某些情况下,例如挂载/etc/salt/作为模板,仅提供只读权限时,这将在调用state.apply时引发一个stack trace信息。
Default: False
minion可以在本地缓存发送给它的作业的返回数据,这可以是在minion本地跟踪minion所执行的作业的一个方法。 默认情况下,此功能处于禁用状态,以将set cache_jobs设置为True以启用该功能。
cache_jobs: False
Default: (empty)
See also: Using grains in a state
静态地为minions定义一些grains变量。
grains:
roles:
- webserver
- memcache
deployment: datacenter4
cabinet: 13
cab_u: 14-15
Default: False
minion可以在本地缓存grains数据,而不是每次引用grains时都要刷新数据。 默认情况下,此功能被禁用,要使用该功能请设置grains_cache为True。
grains_cache: False
New in version 2016.3.0.
Default: False
使用此选项可以合并grains而不是覆盖。 这允许通过自定义grains来定义字典grains的不同子值。 默认情况下,此功能处于禁用状态,要使用该功能请设置 grains_deep_merge设置为True。
grains_deep_merge: False
例如,下面的自定义grains函数:
def custom1_k1():
return {'custom1': {'k1': 'v1'}}
def custom1_k2():
return {'custom1': {'k2': 'v2'}}
不使用 grains_deep_merge功能时, 结果将是:
custom1:
k1: v1
使用 grains_deep_merge时, 结果将是:
custom1:
k1: v1
k2: v2
Default: 0
grain_refresh_every设置允许minion定期检查其grains以查看它们是否已更改,如果是,则通知主机获取新的grains值。 此操作的系统负载略大,因此应注意不要将此值设置得太低。
注意:此值以分钟表示。
10分钟会是一个比较合理的取值。
grains_refresh_every: 0
New in version 2017.7.0.
Default: False
metadata_server_grains: True
Default: False
fibre_channel_grains设置将为minion节点上的光纤通道WWN启用fc_wwn grains支持。 由于这种类设备配件价格昂贵,因此默认情况下禁用。
fibre_channel_grains: True
Default: False
iscsi_grains设置将启用minion节点上的iscsi_iqn grains支持。 由于这种grains价格昂贵,因此默认情况下禁用。
iscsi_grains: True
New in version 2015.8.10.
Default: True
确定salt minion是否应该运行预定的mine更新。 如果将其设置为False,那么mine更新函数将不会添加到minion的调度程序中。
mine_enabled: True
New in version 2015.8.10.
Default: False
确定计划的mine更新是否应为作业缓存返回一个job运行结果。
mine_return_job: False
Default: Empty
指定每个minion上应以mine_interval间隔执行哪些函数。 有关更多信息,请参阅Salt Mine上的此文档。 注意,这些也可以在minion的pillar中定义。
example minion configuration file
mine_functions:
test.ping: []
network.ip_addrs:
interface: eth0
cidr: '10.0.0.0/8'
Default: 60
执行两次mine更新操作之间的间隔时间,以秒为单位。
mine_interval: 60
Default: /var/run/salt/minion
指定存放Unix sockets 文件的路径。
sock_dir: /var/run/salt/minion
Default: True
为master服务器启用GPU硬件数据管理信息的支持。 请注意,当使用lspci和/或dmidecode填充minion的grains时,minion可能需要一段时间才能启动成功,因此如果您不需要这些grains,则可以将其设置为False。
enable_gpu_grains: False
Default: []
一个附加的用于检索salt outputters的路径列表。
outputter_dirs: []
Default: ''
在file_backup子目录中的cachedir下,自动为执行file.managed和file.recurse状态模块所替换的文件进行数据备份,会保留原始路径信息。 有关更多详细信息,请参阅文件状态备份文档。
backup_mode: minion
Default: 10
在minion尝试与master服务器重新进行身份验证之前需要等待的秒数。
acceptance_wait_time: 10
Default: 0
尝试与master服务器重新进行身份验证之前等待的最大秒数。 如果设置,等待将在每次迭代时增加accept_wait_time秒。
acceptance_wait_time_max: 0
Default: False
如果master拒绝了minion的公钥,则继续重试而不是直接退出。 被拒绝的密钥将与等待接受时的处理方式相似。
rejected_retry: False
Default: 10
当master密钥更改时,minion将尝试重新验证自身以接收新的master密钥。 在较大规模的环境中,这可能会导致master节点上的数据同步风暴,因为所有的minions都会立即尝试重新授权。 要防止这种情况并让一个minion在等待一段随机时间后再执行重新授权的操作,可以使用这个参数。 等待时间将会是0到指定值之间的一个随机秒数。
random_reauth_delay: 60
New in version 2016.3.0.
Default: 1
在放弃之前尝试连接到master服务的次数。 将此值设置为-1表示无限次尝试。 这个设置允许master具有一定的停机时间,并且当它重新启动时,minions将重新连接到它。 在“failover”模式(在master_type配置中设置)中,此值是每组master服务器的尝试次数。
master_tries与auth_tries不同,因为auth_tries尝试使用单个主服务器重试auth尝试。 auth_tries假设您可以连接到master服务器但不能从中获取授权。 master_tries仍会在给定的尝试中循环遍历所有master服务器,因此如果您预计master服务器偶尔会出现停机时间时启用该参数是合适的。
master_tries: 1
New in version 2014.7.0.
Default: 7
在放弃之前向master进行身份验证尝试的次数。 或者从技术细节上讲,尝试向master服务器进行身份验证时可接受的连续SaltReqTimeoutErrors的数量。
auth_tries: 7
New in version 2014.7.0.
Default: 60
当等待master接受minion的公钥时,salt会不断尝试重新连接直到成功。 这是每次单独尝试时的超时时间,以秒为单位。 超时到期后,minion将等待acceptance_wait_time秒再次尝试。 除非你的master负载异常重,否则应保留默认值。
auth_timeout: 60
New in version 2014.7.0.
Default: False
如果在ping_interval期间由于SaltReqTimeoutError导致身份验证失败,则此设置(设置为True)将导致重新启动sub-minion进程。
auth_safemode: False
Default: 0
指示minion每隔n分钟对其master进行ping操作,探测master服务的是否存活。
ping_interval: 0
Default: 0
指定一个最大间隔的界限,在尝试连接到master设备之前,一个minion将在启动时执行一个随机的休眠。 这可以用于降低连接尝试的并发量,以防一次启动的过多minions对master服务施加了过度的负载。
例如,将此值设置为5将告诉minion睡眠0到5秒之间的值,之后再尝试连接到master服务。
random_startup_delay: 5
Default: 1000
socket套接字在尝试重新连接到master服务器之前应等待的时间间隔(以毫秒为单位)(1000毫秒= 1秒)。
recon_default: 1000
Default: 10000
socket套接字应该等待的最长时间。 每个间隔等待的时间是通过将前一时间加倍来计算的。 如果达到recon_max后,则会从recon_default再次启动。
下面一个socket重连尝试过程中的时间间隔示例:
- reconnect 1: the socket will wait 'recon_default' milliseconds
- reconnect 2: 'recon_default' * 2
- reconnect 3: ('recon_default' * 2) * 2
- reconnect 4: value from previous interval * 2
- reconnect 5: value from previous interval * 2
- reconnect x: if value >= recon_max, it starts again with recon_default
recon_max: 10000
Default: True
在minion启动时生成一个随机等待时间。 等待时间将是recon_default和recon_default + recon_max之间的随机值。 让所有的minions使用相同的recon_default和recon_max值会破坏这些设置最初的目的。 如果所有的minions都有相同的值并且节点规模非常大(几千个minions),他们仍然会产生连接尝试的风暴。 期望的行为是让所有minions在指定的时间框架内随机尝试重新连接。
recon_randomize: True
Default: 1
loop_interval设置minion在评估调度程序和运行清理任务之间等待的时间(以秒为单位)。 在minion调度程序上默认为1秒。
loop_interval: 1
Default: True
某些安装选择在cache或returner中启动所有的作业返回,并放弃将结果发送回master。 在此工作流程中,通常使用Salt CLI中的--async执行作业,然后通过检查minions或任何已配置的returner上的作业缓存来评估结果。 警告:将此设置为False将禁用返回master服务器的返回。
pub_ret: True
Default: 5
minion向master返回数据的超时时间。
return_retry_timer: 5
Default: 10
minion返回数据尝试的最大超时时间。 如果非零,则minion返回重试的超时将是return_retry_timer和return_retry_timer_max之间的随机整数。
return_retry_timer_max: 10
Default: True
与master ret_port的连接保持打开状态。 设置为False时,则minion会为每次返回给master节点数据创建一个新连接。
cache_sreqs: True
Default: ipc
Windows平台缺乏POSIX IPC,必须依赖较慢的基于TCP的进程间通信。 在这样的系统上需要将ipc_mode设置为tcp。
ipc_mode: ipc
Default: 4510
当ipc_mode设置为tcp时,使用的Publish port。
tcp_pub_port: 4510
Default: 4511
当ipc_mode设置为tcp时,使用的Pull port。
tcp_pull_port: 4511
Default: zeromq
更改基础传输层工具。 ZeroMQ是推荐的传输方式,而其他传输层还在开发中。 目前支持的值是zeromq,raet(实验)和tcp(实验)。 此设置对性能有重大影响,除非您知道自己在做什么,否则不应更改!
transport: zeromq
##SYNDIC_FINGER Default: ''
用于验证更高级master设备的密钥指,以保证正在与预期的master设备通信。
syndic_finger: 'ab:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:50:10'
New in version 2019.2.0.
Default: 20
HTTP连接超时(秒)。 使用tornado后端获取文件时使用。 应该大于文件整体下载的时间。
http_connect_timeout: 20
New in version 2015.8.0.
Default: 3600
HTTP请求超时(秒)。 使用tornado后端获取文件时使用。 应该大于文件整体下载的时间。
http_request_timeout: 3600
Default: ''
指定HTTP proxy 服务的主机名。
proxy_host: proxy.my-domain
Default: 0
指定HTTP proxy的服务端口。
proxy_port: 31337
Default: ''
指定访问HTTP proxy服务的用户名。
proxy_username: charon
Default: ''
指定访问HTTP proxy服务的密码。
proxy_password: obolus
New in version 2019.2.0.
Default: []
指定不使用HTTP proxy服务的地址列表。
Note: 除非配置了proxy_host等,否则此密钥不会执行任何操作,它不支持任何类型的通配符。
no_proxy: [ '127.0.0.1', 'foo.tld' ]