Configuring the Salt Minion - Salt Minion配置参数的完全说明

Configuring the Salt Minion - Salt Minion配置

Salt系统非常简单且易于配置。 Salt系统的两个组件各自具有相应的配置文件。 salt-master通过master配置文件配置,salt-minion通过minion配置文件进行配置。

参见:example minion configuration file

Salt Minion的配置非常简单。 通常,需要设置的唯一值是master的值,因此minion知道在哪里找到其master服务器。

默认情况下,salt-minion的配置位于/etc/salt/minion中。 一个值得注意的例外是FreeBSD,其配置是在/usr/local/etc/salt/minion中。

Salt Minion可用的配置参数如下所示:

以上导航菜单是指向一个github项目书的链接,以下则是关于SaltStack Minion的配置参数使用的完全说明正文。

MINION PRIMARY CONFIGURATION - Minion基础配置参数

MASTER

Default: salt

设置为master节点的主机名或者是IP地址。IPv6地址的配置方式参照ipv6

master: salt

MASTER:PORT SYNTAX

New in version 2015.8.0.

master选项也可以设置成ip:port的形式。

master: localhost:1234

对于带端口的IPv6地址,请记住将IP地址放在中括号里,并将该行用单引号括起来使其成为字符串:

扫描二维码关注公众号,回复: 6053938 查看本文章
master: '[2001:db8:85a3:8d3:1319:8a2e:370:7348]:1234'

如果在master配置文件中也使用master_port选项指定了端口,则在minion配置中的master_port设置将会被master端的配置覆盖。

LIST OF MASTERS SYNTAX

这个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

IPV6

Default: None

是否应通过IPv6连接master服务器。 默认情况下,salt minion将尝试自动检测到master连接的IPv6连接。

ipv6: True

MASTER_URI_FORMAT

New in version 2015.8.0.

指定master服务地址的所使用的格式。 有效选项为default或ip_only。 如果指定了ip_only,则master地址将不会拆分为IP和PORT,因此请确保在master配置设置中仅设置了IP(或域名)。

master_uri_format: ip_only

MASTER_TOPS_FIRST

New in version 2018.3.0.

Default: False

使用Master Tops系统定义的SLS targets通常会安排在Top File中定义的任何匹配之后执行。 将此选项设置为True可使minion首先执行Master Tops states。

master_tops_first: True

MASTER_TYPE

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

MAX_EVENT_SIZE

New in version 2014.7.0.

Default: 1048576

传递非常大的事件数据时可能会导致minion消耗大量内存。 此值调整允许进入minion事件总线的消息的最大大小。 该值以字节表示。

max_event_size: 1048576

ENABLE_LEGACY_STARTUP_EVENTS

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

MASTER_FAILBACK

New in version 2016.3.0.

Default: False

如果minion处于multi-master模式并且minion配置文件中master_type选项设置为failover,则此设置可以设置为True以强制minion在列表中第一个master服务器恢复服务时,将自己连接的master重新切换回第一个master服务上。

master_failback: False

MASTER_FAILBACK_INTERVAL

New in version 2016.3.0.

Default: 0

如果minion处于multi-master模式并且minion配置文件中master_type选项设置为failover,并且启用了master_failback 选项, 那么这个配置项将定义通过ping检测top master服务是否恢复的一个时间间隔,以秒为单位。

master_failback_interval: 0

MASTER_ALIVE_INTERVAL

Default: 0

配置minion以秒为单位验证当前master服务是否存活并正常返回响应的频率。 如果minion发现现有的master服务已经死了,它将尝试与列表中的下一个master建立连接。

master_alive_interval: 30

MASTER_SHUFFLE

New in version 2014.7.0.

Deprecated since version 2019.2.0.

Default: False

Warning:
在 Salt 2019.2.0及以后版本中,该配置项已经被弃用,请使用random_master作为替代。

master_shuffle: True

RANDOM_MASTER

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 调用所忽略。

RETRY_DNS

Default: 30

如果名称解析失败,使用该配置项设置在尝试解析master主机名之前等待的秒数。 默认为30秒。 如果minion应该关闭而不继续重试,则设置为零。

retry_dns: 30

RETRY_DNS_COUNT

New in version 2018.3.4.

Default: None

如果名称解析失败,则设置解析master主机名时要执行的尝试次数。 默认情况下,minion将无限期重试。

retry_dns_count: 3

MASTER_PORT

Default: 4506

指定master服务的端口,注意这需要与Salt Master服务器上的ret_port选项一致。

master_port: 4506

PUBLISH_PORT

Default: 4505

指定master发布服务器的端口,这需要与Salt master上的publish_port选项一致。

publish_port: 4505

SOURCE_INTERFACE_NAME

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

SOURCE_ADDRESS

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

SOURCE_RET_PORT

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

SOURCE_PUBLISH_PORT

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

USER

Default: root

指定运行Salt 服务进程的系统用户。

user: root

SUDO_USER

Default: ‘’

用户通过sudo运行salt远程执行命令。 如果启用此选项,则将使用sudo更改执行远程命令的活动用户。 如果启用,则需要允许用户通过sudoers文件访问salt minion配置为运行的用户。 最常见的选择是使用root用户。 如果设置了此选项,则还应将用户选项设置为非root用户。 如果从root minion迁移到non root minion,则应清除minion缓存,并且需要将minion pki目录更改为新用户的所有权。

sudo_user: root

PIDFILE

Default: /var/run/salt-minion.pid

指定进程的pidfile路径。

pidfile: /var/run/salt-minion.pid

ROOT_DIR

Default: /

此目录将会被预先附加到以下选项的前面:pki_dir,cachedir,log_file,sock_dir和pidfile。

root_dir: /

CONF_FILE

Default: /etc/salt/minion

指定minion使用的配置文件。

conf_file: /etc/salt/minion

PKI_DIR

Default: /etc/salt/pki/minion

指定存放minion的公私密钥的路径。

pki_dir: /etc/salt/pki/minion

ID

Default: the system’s hostname

See also: Salt Walkthrough
设置Salt Minion部分包含有关如何确定主机名的详细信息。

明确声明此minion使用的id。 由于Salt使用分离的id,因此可以在同一台机器上运行多个minions但具有不同的id。

id: foo.bar.com

MINION_ID_CACHING

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

APPEND_DOMAIN

Default: None

如果域名不存在,则将域附加到主机名。 这对于socket.getfqdn()调用实际上不会返回FQDN结果的系统(例如,Solaris)很有用。

append_domain: foo.org

MINION_ID_LOWERCASE

Default: False

在生成minion id时将其转换为小写。 在当一些主机以大写形式获得minion id时很有用。 但是启用了缓存功能的ID值将保持不变并且不会转换。

minion_id_lowercase: True

CACHEDIR

Default: /var/cache/salt/minion

Minion cache 数据的保存路径。

此目录可能包含敏感数据,因此应受到更多地保护。

cachedir: /var/cache/salt/minion

COLOR_THEME

Default: “”

指定用于彩色命令行输出的颜色主题的路径。

color_theme: /etc/salt/color_theme

APPEND_MINIONID_CONFIG_DIRS

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

VERIFY_ENV

Default: True

在启动时验证并设置配置目录的权限。

verify_env: True

Note
设置为True时,verify_env选项需要对配置目录(/etc/salt/)具有WRITE访问权限。 在某些情况下,例如挂载/etc/salt/作为模板,仅提供只读权限时,这将在调用state.apply时引发一个stack trace信息。

CACHE_JOBS

Default: False

minion可以在本地缓存发送给它的作业的返回数据,这可以是在minion本地跟踪minion所执行的作业的一个方法。 默认情况下,此功能处于禁用状态,以将set cache_jobs设置为True以启用该功能。

cache_jobs: False

GRAINS

Default: (empty)

See also: Using grains in a state

静态地为minions定义一些grains变量。

grains:
  roles:
    - webserver
    - memcache
  deployment: datacenter4
  cabinet: 13
  cab_u: 14-15

GRAINS_CACHE

Default: False

minion可以在本地缓存grains数据,而不是每次引用grains时都要刷新数据。 默认情况下,此功能被禁用,要使用该功能请设置grains_cache为True。

grains_cache: False

GRAINS_DEEP_MERGE

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

GRAINS_REFRESH_EVERY

Default: 0

grain_refresh_every设置允许minion定期检查其grains以查看它们是否已更改,如果是,则通知主机获取新的grains值。 此操作的系统负载略大,因此应注意不要将此值设置得太低。

注意:此值以分钟表示。

10分钟会是一个比较合理的取值。

grains_refresh_every: 0

METADATA_SERVER_GRAINS

New in version 2017.7.0.

Default: False

设置此选项以启用从http://169.254.169.254/latest收集云元数据以用于grains(有关详细信息,请参阅此处)。

metadata_server_grains: True

FIBRE_CHANNEL_GRAINS

Default: False

fibre_channel_grains设置将为minion节点上的光纤通道WWN启用fc_wwn grains支持。 由于这种类设备配件价格昂贵,因此默认情况下禁用。

fibre_channel_grains: True

ISCSI_GRAINS

Default: False

iscsi_grains设置将启用minion节点上的iscsi_iqn grains支持。 由于这种grains价格昂贵,因此默认情况下禁用。

iscsi_grains: True

MINE_ENABLED

New in version 2015.8.10.

Default: True

确定salt minion是否应该运行预定的mine更新。 如果将其设置为False,那么mine更新函数将不会添加到minion的调度程序中。

mine_enabled: True

MINE_RETURN_JOB

New in version 2015.8.10.

Default: False

确定计划的mine更新是否应为作业缓存返回一个job运行结果。

mine_return_job: False

MINE_FUNCTIONS

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'

MINE_INTERVAL

Default: 60

执行两次mine更新操作之间的间隔时间,以秒为单位。

mine_interval: 60

SOCK_DIR

Default: /var/run/salt/minion

指定存放Unix sockets 文件的路径。

sock_dir: /var/run/salt/minion

ENABLE_GPU_GRAINS

Default: True

为master服务器启用GPU硬件数据管理信息的支持。 请注意,当使用lspci和/或dmidecode填充minion的grains时,minion可能需要一段时间才能启动成功,因此如果您不需要这些grains,则可以将其设置为False。

enable_gpu_grains: False

OUTPUTTER_DIRS

Default: []

一个附加的用于检索salt outputters的路径列表。

outputter_dirs: []

BACKUP_MODE

Default: ‘’

在file_backup子目录中的cachedir下,自动为执行file.managed和file.recurse状态模块所替换的文件进行数据备份,会保留原始路径信息。 有关更多详细信息,请参阅文件状态备份文档

backup_mode: minion

ACCEPTANCE_WAIT_TIME

Default: 10

在minion尝试与master服务器重新进行身份验证之前需要等待的秒数。

acceptance_wait_time: 10

ACCEPTANCE_WAIT_TIME_MAX

Default: 0

尝试与master服务器重新进行身份验证之前等待的最大秒数。 如果设置,等待将在每次迭代时增加accept_wait_time秒。

acceptance_wait_time_max: 0

REJECTED_RETRY

Default: False

如果master拒绝了minion的公钥,则继续重试而不是直接退出。 被拒绝的密钥将与等待接受时的处理方式相似。

rejected_retry: False

RANDOM_REAUTH_DELAY

Default: 10

当master密钥更改时,minion将尝试重新验证自身以接收新的master密钥。 在较大规模的环境中,这可能会导致master节点上的数据同步风暴,因为所有的minions都会立即尝试重新授权。 要防止这种情况并让一个minion在等待一段随机时间后再执行重新授权的操作,可以使用这个参数。 等待时间将会是0到指定值之间的一个随机秒数。

random_reauth_delay: 60

MASTER_TRIES

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

AUTH_TRIES

New in version 2014.7.0.

Default: 7

在放弃之前向master进行身份验证尝试的次数。 或者从技术细节上讲,尝试向master服务器进行身份验证时可接受的连续SaltReqTimeoutErrors的数量。

auth_tries: 7

AUTH_TIMEOUT

New in version 2014.7.0.

Default: 60

当等待master接受minion的公钥时,salt会不断尝试重新连接直到成功。 这是每次单独尝试时的超时时间,以秒为单位。 超时到期后,minion将等待acceptance_wait_time秒再次尝试。 除非你的master负载异常重,否则应保留默认值。

auth_timeout: 60

AUTH_SAFEMODE

New in version 2014.7.0.

Default: False

如果在ping_interval期间由于SaltReqTimeoutError导致身份验证失败,则此设置(设置为True)将导致重新启动sub-minion进程。

auth_safemode: False

PING_INTERVAL

Default: 0

指示minion每隔n分钟对其master进行ping操作,探测master服务的是否存活。

ping_interval: 0

RANDOM_STARTUP_DELAY

Default: 0

指定一个最大间隔的界限,在尝试连接到master设备之前,一个minion将在启动时执行一个随机的休眠。 这可以用于降低连接尝试的并发量,以防一次启动的过多minions对master服务施加了过度的负载。

例如,将此值设置为5将告诉minion睡眠0到5秒之间的值,之后再尝试连接到master服务。

random_startup_delay: 5

RECON_DEFAULT

Default: 1000

socket套接字在尝试重新连接到master服务器之前应等待的时间间隔(以毫秒为单位)(1000毫秒= 1秒)。

recon_default: 1000

RECON_MAX

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

RECON_RANDOMIZE

Default: True

在minion启动时生成一个随机等待时间。 等待时间将是recon_default和recon_default + recon_max之间的随机值。 让所有的minions使用相同的recon_default和recon_max值会破坏这些设置最初的目的。 如果所有的minions都有相同的值并且节点规模非常大(几千个minions),他们仍然会产生连接尝试的风暴。 期望的行为是让所有minions在指定的时间框架内随机尝试重新连接。

recon_randomize: True

LOOP_INTERVAL

Default: 1

loop_interval设置minion在评估调度程序和运行清理任务之间等待的时间(以秒为单位)。 在minion调度程序上默认为1秒。

loop_interval: 1

PUB_RET

Default: True

某些安装选择在cache或returner中启动所有的作业返回,并放弃将结果发送回master。 在此工作流程中,通常使用Salt CLI中的–async执行作业,然后通过检查minions或任何已配置的returner上的作业缓存来评估结果。 警告:将此设置为False将禁用返回master服务器的返回。

pub_ret: True

RETURN_RETRY_TIMER

Default: 5

minion向master返回数据的超时时间。

return_retry_timer: 5

RETURN_RETRY_TIMER_MAX

Default: 10

minion返回数据尝试的最大超时时间。 如果非零,则minion返回重试的超时将是return_retry_timer和return_retry_timer_max之间的随机整数。

return_retry_timer_max: 10

CACHE_SREQS

Default: True

与master ret_port的连接保持打开状态。 设置为False时,则minion会为每次返回给master节点数据创建一个新连接。

cache_sreqs: True

IPC_MODE

Default: ipc

Windows平台缺乏POSIX IPC,必须依赖较慢的基于TCP的进程间通信。 在这样的系统上需要将ipc_mode设置为tcp。

ipc_mode: ipc

TCP_PUB_PORT

Default: 4510

当ipc_mode设置为tcp时,使用的Publish port。

tcp_pub_port: 4510

TCP_PULL_PORT

Default: 4511

当ipc_mode设置为tcp时,使用的Pull port。

tcp_pull_port: 4511

TRANSPORT

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'

HTTP_CONNECT_TIMEOUT

New in version 2019.2.0.

Default: 20

HTTP连接超时(秒)。 使用tornado后端获取文件时使用。 应该大于文件整体下载的时间。

http_connect_timeout: 20

HTTP_REQUEST_TIMEOUT

New in version 2015.8.0.

Default: 3600

HTTP请求超时(秒)。 使用tornado后端获取文件时使用。 应该大于文件整体下载的时间。

http_request_timeout: 3600

PROXY_HOST

Default: ‘’

指定HTTP proxy 服务的主机名。

proxy_host: proxy.my-domain

PROXY_PORT

Default: 0

指定HTTP proxy的服务端口。

proxy_port: 31337

PROXY_USERNAME

Default: ‘’

指定访问HTTP proxy服务的用户名。

proxy_username: charon

PROXY_PASSWORD

Default: ‘’

指定访问HTTP proxy服务的密码。

proxy_password: obolus

NO_PROXY

New in version 2019.2.0.

Default: []

指定不使用HTTP proxy服务的地址列表。

Note: 除非配置了proxy_host等,否则此密钥不会执行任何操作,它不支持任何类型的通配符。

no_proxy: [ '127.0.0.1', 'foo.tld' ]

DOCKER CONFIGURATION

DOCKER.UPDATE_MINE

New in version 2017.7.8,2018.3.3.

Changed in version 2019.2.0: The default value is now False

Default: False

如果启用,当添加、删除、停止和启动容器等时,将使用docker.ps verbose = True all = True host = True的结果更新mine数据。 此mine data是由mine.get_docker使用。 将此选项设置为False可以防止Salt使用此信息更新mine data。

注意: 此选项也可以在Grains或Pillar数据中设置,Grains覆盖Pillar,而minion配置文件覆盖Grains。

注意: 禁用此功能会使mine.get_docker无法返回给定minion的任何信息。

docker.update_mine: False

DOCKER.COMPARE_CONTAINER_NETWORKS

New in version 2018.3.0.

Default: {‘static’: [‘Aliases’, ‘Links’, ‘IPAMConfig’], ‘automatic’: [‘IPAddress’, ‘Gateway’, ‘GlobalIPv6Address’, ‘IPv6Gateway’]}

指定docker.compare_container_networks检查哪些键。

注意:多数情况下这个参数不应该被修改,除非添加到Docker的新功能导致添加到网络配置的新密钥,必须进行比较以确定两个容器是否具有不同的网络配置。 此配置选项仅作为一种允许用户在API更改后继续使用Salt来管理其容器的方式,而无需等待新的Salt版本来赶上Docker API中的更改。

docker.compare_container_networks:
  static:
    - Aliases
    - Links
    - IPAMConfig
  automatic:
    - IPAddress
    - Gateway
    - GlobalIPv6Address
    - IPv6Gateway

OPTIMIZATION_ORDER

Default: [0, 1, 2]

在没有.py文件的情况下分发Salt的情况下,此选项确定Salt的模块加载器应该更适合的优化级别的优先级。

注意:该选项仅支持Python 3.5+.

optimization_order:
  - 2
  - 0
  - 1

MINION-EXECUTION-MODULE-MANAGEMENT

DISABLE_MODULES

Default: [] (默认启用所有的执行模块)

有一些使用场景下,管理员可能会希望minion不应该能够执行某个模块。

但是,sys模块内置于minion中,无法禁用。

此设置还可以调优minion的性能。 由于所有模块都加载到系统内存中,因此禁用模块会降低minion的内存占用量。

应根据系统上的文件名指定模块,而不是按虚拟名称指定。 例如,要禁用cmd,请使用与salt.modules.cmdmod对应的字符串cmdmod。

disable_modules:
  - test
  - solr

DISABLE_RETURNERS

Default: [] (默认启用所有的returners)

如果需要禁用某种returners,请在这里设置。

disable_returners:
  - mongo_return

WHITELIST_MODULES

Default: [] (该参数默认是未启用的。一旦向该参数值中添加任何salt modules名称,就会导致仅允许使用列出的模块,没有这个列表中指明的模块,都不会被加载)

此选项与disable_modules相反。 如果启用,则只会在minion上加载和执行此列表中的执行模块。

请注意,这个配置项可以引起很大的影响,因为Salt本身内部使用了许多模块,所以很难让minion按照你认为应该的方式工作。 至少你需要启用以下功能,否则minion将无法启动。

whitelist_modules:
  - cmdmod
  - test
  - config

MODULE_DIRS

Default: []

用于搜索Salt模块的一个额外目录列表。

module_dirs:
  - /var/lib/salt/modules

RETURNER_DIRS

Default: []

搜索Salt returners的额外目录列表。

returner_dirs:
  - /var/lib/salt/returners

STATES_DIRS

Default: []

搜索Salt states的额外目录列表。

states_dirs:
  - /var/lib/salt/states

GRAINS_DIRS

Default: []

搜索Salt grains的额外目录列表。

grains_dirs:
  - /var/lib/salt/grains

RENDER_DIRS

Default: []

用于搜索Salt渲染器的额外目录列表。

render_dirs:
  - /var/lib/salt/renderers

UTILS_DIRS

Default: []

用于搜索Salt实用程序的额外目录列表。

utils_dirs:
  - /var/lib/salt/utils

CYTHON_ENABLE

Default: False

将此值设置为true以启用.pyx模块的自动加载和编译,此设置要求在minion上安装gcc和cython。

cython_enable: False

ENABLE_ZIP_MODULES

New in version 2015.8.0.

Default: False

将此值设置为true可启用将zip archives作为扩展模块进行加载。 这允许打包具有特定依赖性的模块代码以避免冲突和/或必须在系统库中安装特定模块的依赖性。

enable_zip_modules: False

PROVIDERS

Default: (empty)

providers选项可以在minion上覆盖或扩展"module provider"程序。 这可以在SLS文件中单独完成,也可以在minion配置中做全局定义,如下所示。

providers:
  service: systemd

MODULES_MAX_MEMORY

Default: -1

指定导入模块使用的最大内存大小限制(以字节为单位)。 目前仅在* NIX操作系统上支持此功能,并且需要psutil。

modules_max_memory: -1

EXTMOD_WHITELIST/EXTMOD_BLACKLIST

New in version 2017.7.0.

通过使用此字典,可以限制使用saltutil.sync_*同步到minion的extmod缓存的模块。 如果没有将任何内容设置为特定类型,则默认为接受所有模块。 要阻止特定类型下的所有模块,请将空白列表列入白名单。

extmod_whitelist:
  modules:
    - custom_module
  engines:
    - custom_engine
  pillars: []
extmod_blacklist:
  modules:
    - specific_module

Valid options:

  • beacons
  • clouds
  • sdb
  • modules
  • states
  • grains
  • renderers
  • returners
  • proxy
  • engines
  • output
  • utils
  • pillar

TOP-FILE-SETTINGS

这一类别的配置项仅对于masterless minion有意义。

STATE_TOP

Default: top.sls

salt state系统使用“topfile”文件告诉minions使用什么环境以及使用什么模块。 state_top文件是相对于基础环境的根目录定义的。

state_top: top.sls

STATE_TOP_SALTENV

此选项没有默认值。 将其设置为环境名称,以确保在执行highstate期间仅处理该环境中的top files文件。

注意: 使用此值不会更改合并策略。 例如,如果将top_file_merging_strategy设置为merge,并将state_top_saltenv设置为foo,则将忽略foo环境的top file中除foo以外的环境的任何部分。 将state_top_saltenv设置为base,将应用base top file文件中所有环境的所有状态,而忽略所有其他top file文件。 将state_top_saltenv设置为base以外的其他东西而不忽略目标top文件中的其他环境的唯一方法是将top_file_merging_strategy设置为merge_all。

state_top_saltenv: dev

TOP_FILE_MERGING_STRATEGY

Changed in version 2016.11.0: A merge_all strategy has been added.

Default: merge

如果没有为highstate指定特定的文件服务器环境(a.k.a. saltenv),则会检查所有环境的top file文件。此配置选项确定如何处理这些top files文件中的SLS目标。

设置为merge时,首先评估base环境的top file文件,然后评估其他环境的top files文件。保留给定环境的第一个目标表达式(例如“”),并且当在稍后评估的不同top files文件中使用相同的目标表达式时,将忽略该表达式。因为首先评估base环境,所以它是权威的。例如,如果base和foo环境的top文件中都有’'目标,那么foo环境中的目标将被忽略。环境将按照特定顺序进行评估(除了base环境优先)。如果需要更好地控制评估环境的顺序,请使用env_order。请注意,除了base环境的top file文件之外,top file文件中与top file文件环境不匹配的任何部分都将被忽略。因此,例如,如果qa环境中的部分出现在dev环境的top file文件中,则会忽略该部分。要保持所有的环境配置,避免被忽略,请使用merge_all策略。

设置为same时,则对于每个环境,仅处理该环境的top file文件,而忽略其他环境文件。例如,将仅为dev环境处理dev环境的顶级文件,并且将忽略在base环境(或任何其他环境)top file文件中为开发人员定义的任何SLS目标。如果环境没有top file文件,则default_top config参数中指定的top file文件将用作后备。

设置为merge_all时,将应用所有top file文件中所有环境中的所有状态。单个SLS文件的执行顺序取决于评估top file文件的顺序,并且将按照特定顺序评估环境。需要更好地控制评估环境的顺序,请使用env_order

top_file_merging_strategy: same

ENV_ORDER

Default: []

top_file_merging_strategy设置为merge,并且没有为highstate指定环境时,此配置选项允许显式定义评估top files文件的顺序。

env_order:
  - base
  - dev
  - qa

DEFAULT_TOP

Default: base

top_file_merging_strategy设置为same,并且没有为highstate指定环境时(即没有为minion设置环境),此配置选项指定一个备选环境,如果环境缺少顶级文件,则在该环境中查找顶级文件。

default_top: dev

STARTUP_STATES

Default: ‘’

在minion守护程序启动时需要运行的状态。 要启用该功能,请将startup_states设置为:

  • highstate: 执行 state.highstate
  • sls: 从sls_list配置项读取一个sls文件列表,然后执行这些sls文件
  • top: 读取top_file配置项,并根据Master上为该文件定义的内容执行相关配置管理任务
startup_states: ''

SLS_LIST

Default: []

如果startup_states设置为sls,则当minion启动时通过该配置项指定要运行的sls状态列表。

sls_list:
  - edit.vim
  - hyper

TOP_FILE

Default: ‘’

startup_states配置项被设置为top时,使用该参数指定将要使用的top file的名称。

top_file: ''

STATE-MANAGEMENT-SETTINGS

RENDERER

Default: jinja|yaml

用于执行本地state状态的默认渲染器。

renderer: jinja|json

TEST

Default: False

将所有state状态调用设置为测试,以便于观察它们是否会实际进行变更。

test: False

STATE_VERBOSE

Default: True

控制state状态运行输出信息的详细程度。 默认情况下,返回所有state状态的结果,将此值设置为False将导致salt仅显示那些失败状态或具有更改状态的输出。

state_verbose: True

STATE_OUTPUT

Default: full

state_output设置可以控制哪些结果将输出完整的多行日志信息:

  • full, terse - 每一个state状态都将按照 full(全部)/terse(简洁)的级别打印结果信息
  • mixed - 只有那些发生错误的state状态才会打印full全部的信息
  • changes - 有实际发生配置变更或遇到错误的state状态会打印full全部的信息

支持使用full_id, mixed_id, changes_id and terse_id ,在输出结果中使用state ID用作名称。

state_output: full

STATE_OUTPUT_DIFF

Default: False

state_output_diff设置,可以控制是否返回成功变更状态的输出。 这些状态的简洁输出也能使日志显得很混乱,所以可以将其设置为True以忽略它们。

state_output_diff: False

AUTOLOAD_DYNAMIC_MODULES

Default: True

autoload_dynamic_modules可以控制是否自动加载在master服务器上的环境中找到的模块。 这是默认打开的。 要在状态运行时关闭minion的自动加载模块功能,请将此值设置为False。

autoload_dynamic_modules: True

clean_dynamic_modules

Default: True

clean_dynamic_modules使minion上的动态模块与master上的动态模块保持同步。 这意味着如果动态模块在master上被删除了,它也将从minion中被删除掉。 默认情况下,此功能已启用,可以通过将此值更改为False来禁用。

clean_dynamic_modules: True

注意:如果指定了extmod_whitelist,则此处也将清除未列入白名单的模块。

SALTENV

Changed in version 2018.3.0: 从environment改名为saltenv。 如果使用environmentsaltenv将会从其获取参数值。 如果两者都使用,则将忽略environment并使用saltenv

通常情况下,当运行状态时,minion不会与master控制器上的任何单个环境隔离,但可以通过静态设置minion侧的环境来达到这个目的。 请记住,管理环境的推荐方法是通过top file隔离。

saltenv: dev

LOCK_SALTENV

New in version 2018.3.0.

Default: False

出于运行state状态的目的,此选项可防止使用saltenv参数手动设置环境。 这对于将具有saltenv选项设置为dev的minion与dev之外的环境中的运行状态保持一致非常有用。

lock_saltenv: True

SNAPPER_STATES

Default: False

snapper_states值用于在salt状态运行之前和之后启用snapper快照。 这允许回滚已经执行的state状态。
要使snapper状态正常运行,需要安装和启用snapper。

snapper_states: True

SNAPPER_STATES_CONFIG

Default: root

Snapper可以基于snapper configuration配置的用户执行。 需要在snapper使用之前设置好配置信息。 默认配置为root。SUSE系统默认情况下使用在安装时设置的默认配置运行snapper。详细使用信息请见snapper module

snapper_states_config: root

FILE-DIRECTORY-SETTINGS

FILE_CLIENT

Default: remote

minion客户端默认从master服务器上查找文件,但可以通过将此参数设置为local来改为在minion本地查找。

file_client: remote

USE_MASTER_WHEN_LOCAL

Default: False

启用了minion本地file_client时,此参数用于允许客户端可以仍然连接到master服务器以进行远程执行。

use_master_when_local: False

FILE_ROOTS

Default:

base:
  - /srv/salt

使用本地file_client配置项时,此参数用于设置文件服务器的环境。 此参数的操作与同名的master配置参数相同。

file_roots:
  base:
    - /srv/salt
  dev:
    - /srv/salt/dev/services
    - /srv/salt/dev/states
  prod:
    - /srv/salt/prod/services
    - /srv/salt/prod/states

FILESERVER_FOLLOWSYMLINKS

New in version 2014.1.0.

Default: True

默认情况下,file_server在遍历文件系统树时遵循符号链接。 目前,这仅适用于默认的root fileserver_backend。

fileserver_followsymlinks: True

FILESERVER_IGNORESYMLINKS

New in version 2014.1.0.

Default: False

如果不希望将符号链接视为它们指向的文件,请将fileserver_ignoresymlinks设置为True。 默认情况下,此值设置为False。 设置为True时,在Master上列出文件时检测到的任何符号链接都不会返回给Minion。

fileserver_ignoresymlinks: False

FILESERVER_LIMIT_TRAVERSAL

New in version 2014.1.0.

Default: False

默认情况下,Salt文件服务器会完全递归到所有已定义的环境,以尝试查找文件。 要限制此行为以使文件服务器仅遍历具有SLS文件的目录和特殊的Salt目录(如_modules),请将fileserver_limit_traversal设置为True。 这对于文件根目录具有大量文件且性能受到影响的场景下可能很有用。

fileserver_limit_traversal: False

HASH_TYPE

Default: sha256

hash_type是在发现本地文件服务器上的文件的哈希时使用的。 默认值为sha256,但也支持md5,sha1,sha224,sha384和sha512。

hash_type: sha256

PILLAR-CONFIGURATION

PILLAR_ROOTS

Default:

base:
  - /srv/pillar

使用本地file_client时,此参数用于设置pillar环境。

pillar_roots:
  base:
    - /srv/pillar
  dev:
    - /srv/pillar/dev
  prod:
    - /srv/pillar/prod

ON_DEMAND_EXT_PILLAR

New in version 2016.3.6,2016.11.3,2017.7.0.

Default: [‘libvirt’, ‘virtkey’]

使用本地file_client时,此选项控制在调用pillar.ext时允许哪些外部pillars被使用。

on_demand_ext_pillar:
  - libvirt
  - virtkey
  - git

警告:这将允许一个masterless的minion通过pillar.ext请求特定的pillar数据,这样使用会被视为存在安全风险。 但是,以这种方式生成的pillar数据不会影响内存中的pillar数据,因此这种风险仅限于使用states/modules等的情况。 (内置或自定义)依赖于pillar.ext生成的支柱数据。

DECRYPT_PILLAR

New in version 2017.7.0.

Default: []

在pillar编译期间递归解密的路径列表。

decrypt_pillar:
  - 'foo:bar': gpg
  - 'lorem:ipsum:dolor'

此列表中的条目可以格式化为简单字符串,也可以格式化为键/值对,其中键是pillar location,值是用于pillar 解密的渲染器。 如果使用前者,则将使用decrypt_pillar_default所指定的渲染器。

DECRYPT_PILLAR_DELIMITER

New in version 2017.7.0.

Default: :

分隔符,用于区分decrypt_pillar选项中的嵌套数据结构。

decrypt_pillar_delimiter: '|'
decrypt_pillar:
  - 'foo|bar': gpg
  - 'lorem|ipsum|dolor'

DECRYPT_PILLAR_DEFAULT

New in version 2017.7.0.

Default: gpg

如果没有为decrypt_pillar中的给定pillar key指定一个,则使用默认渲染器用于解密。

decrypt_pillar_default: my_custom_renderer

DECRYPT_PILLAR_RENDERERS

New in version 2017.7.0.

Default: [‘gpg’]

允许用于pillar decryption的渲染器列表。

decrypt_pillar_renderers:
  - gpg
  - my_custom_renderer

PILLARENV

Default: None

隔离minion侧的pillar环境。 其功能与环境设置相同,但用于pillar而不是states。

pillarenv: dev

PILLARENV_FROM_SALTENV

New in version 2017.7.0.

Default: False

设置为True时,pillarenv值将在运行states时继承自一个有效saltenv的值。 这使salt '*' state.sls mysls saltenv=dev相当于salt '*' state.sls mysls saltenv=dev pillarenv=dev。 如果在minion配置文件中或通过CLI命令设置了pillarenv,则它将覆盖此选项。

PILLAR_RAISE_ON_MISSING

New in version 2015.5.0.

Default: False

将此选项设置为True可以在尝试从pillar中检索指定命名值失败时强制引发一个KeyError信息。 如果将此选项设置为False,则失败的尝试将返回空字符串。

MINION_PILLAR_CACHE

New in version 2016.3.0.

Default: False

minion可以在cachedir/pillar下本地缓存渲染的pillar数据。 这允许临时断开的minion通过使用–local和–pillar_root =conf_minion:cachedir/pillar选项调用salt-call来访问先前缓存的pillar数据。 在启用此设置之前,请考虑渲染的pillar数据可能包含安全敏感的数据。 应该有适当的访问限制。 默认情况下,保存的pillar数据只能由运行salt的用户帐户读取。 默认情况下,此功能处于禁用状态,需要启用该功能时可以将minion_pillar_cache设置为True。

minion_pillar_cache: False

FILE_RECV_MAX_SIZE

New in version 2014.7.0.

Default: 100

设置可以推送到master服务器的文件大小的硬限制。 单位为兆字节。

file_recv_max_size: 100

PASS_TO_EXT_PILLARS

指定要将值传递给外部pillar功能函数的配置键列表。

子选项可以使用’:'表示法指定(即选项:子选项)

这些值被合并和包含在外部pillar函数的extra_minion_data参数中。 extra_minion_data参数仅传递给在其定义中明确指定的外部pillar functions。
如果配置为:

opt1: value1
opt2:
  subopt1: value2
  subopt2: value3

pass_to_ext_pillars:
  - opt1
  - opt2: subopt1

那么,extra_minion_data参数的值将会是:

{'opt1': 'value1',
 'opt2': {'subopt1': 'value2'}}

SECURITY-SETTINGS

OPEN_MODE

Default: False

open_mode模式可用于清除从Salt master接收的PKI密钥,打开该模式,然后重新启动minion;关闭open_mode模式并重新启动minion以清除密钥。

open_mode: False

MASTER_FINGER

Default: ‘’

master控制器公钥的指纹,用于在初始密钥交换之前验证Salt master服务器的标识。 通过在Salt master上运行“salt-key -F master”可以找到master指纹。

master_finger: 'ba:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:11:13'

KEYSIZE

Default: 2048

创建新密钥时应生成的密钥大小。

keysize: 2048

PERMISSIVE_PKI_ACCESS

Default: False

启用对salt密钥的访问允许。 这将允许以root身份运行master或minion服务,但是让非root组用户可以访问pki_dir。 这要求root必须属于你授予访问权限的组。 这可能是非常不安全的。

permissive_pki_access: False

VERIFY_MASTER_PUBKEY_SIGN

Default: False

启用对master在auth-reply中返回的master-public-signature的验证。 请参阅Multimaster-PKI with Failover Tutorial

New in version 2014.7.0.

verify_master_pubkey_sign: True

如果将其设置为True,则master_sign_pubkey也必须在master的配置文件中设置为True。

MASTER_SIGN_KEY_NAME

Default: master_sign

不带.pub后缀的公钥的文件名,用于验证来自master服务器的签名。 该文件必须位于minion的pki目录中。

New in version 2014.7.0.

master_sign_key_name: <filename_without_suffix>

AUTOSIGN_GRAINS

New in version 2018.3.0.

Default: not defined

在认证时minion应该同步发送给master的grains信息,用于辅助判断是否应该自动接受minions的密钥。

有关详细信息,请参阅Autoaccept Minions from Grains

autosign_grains:
  - uuid
  - server_id

ALWAYS_VERIFY_SIGNATURE

Default: False

如果启用了verify_master_pubkey_sign,则仅在master服务器的公钥发生更改时才会验证签名。 如果应始终验证签名,则可以将其设置为True。

New in version 2014.7.0.

always_verify_signature: True

CMD_BLACKLIST_GLOB

Default: []

如果启用了cmd_blacklist_glob,则将根据cmd_blacklist_glob列表中找到的glob匹配检查通过远程执行或通过salt-call调用的任何shell命令,并且将阻止任何符合匹配规则的shell命令。

注意:此黑名单仅适用于直接执行salt和salt-call命令。 这不会将从其他模块中执行的states状态或shell命令调用的命令列入黑名单。

New in version 2016.11.0.

cmd_blacklist_glob:
  - 'rm * '
  - 'cat /etc/* '

CMD_WHITELIST_GLOB

Default: []

如果启用了cmd_whitelist_glob,则将根据cmd_whitelist_glob列表中找到的glob匹配检查通过远程执行或通过salt-call调用的任何shell命令,并且将阻止列表中未找到的任何shell命令。 如果未设置cmd_whitelist_glob参数,则表示允许所有shell命令。

注意:此白名单仅适用于直接执行salt和salt-call命令。 这不会将从其他模块中执行的states状态或shell命令调用的命令列入白名单。

New in version 2016.11.0.

cmd_whitelist_glob:
  - 'ls * '
  - 'cat /etc/fstab'

SSL

New in version 2016.11.0.

Default: None

TLS/SSL 连接配置参数,可以通过字典的形式指定 python ssl.wrap_socket 方法需要使用的配置信息。细节参见 Tornado 和 Python 的相关文档。

注意: 设置枚举参数值如cert_reqs和ssl_version时,使用常量名称而不使用ssl模块前缀,如:CERT_REQUIRED或PROTOCOL_SSLv23。

ssl:
    keyfile: <path_to_keyfile>
    certfile: <path_to_certfile>
    ssl_version: PROTOCOL_TLSv1_2

REACTOR-SETTINGS

REACTOR

Default: []

定义一个 salt reactor,参见Reactor 文档。

reactor: []

REACTOR_REFRESH_INTERVAL

Default: 60

设置reactor缓存的有效时间。

reactor_refresh_interval: 60

REACTOR_WORKER_THREADS

Default: 10

设定reactor在调用runner/wheel模块时的最大并发线程数。

reactor_worker_threads: 10

REACTOR_WORKER_HWM

Default: 10000

reactor工作线程的队列大小。

reactor_worker_hwm: 10000

THREAD-SETTINGS

MULTIPROCESSING

Default: True

如果在minion收到发布任务时启用了多线程处理的支持,则会生成一个新线程并在其中执行该命令。 相反,如果禁用了多处理支持,则将在一个线程中执行新发布。

multiprocessing: True

PROCESS_COUNT_MAX

New in version 2018.3.0.

Default: -1

限制salt-minion创建的最大进程数或线程数。 如果minion收到的数据超出了它能够处理的数量,这对于避免资源耗尽很有用,因为它限制了生成的进程或线程的数量。 -1是默认值,表示禁用限制。

process_count_max: -1

MINION-LOGGING-SETTINGS

LOG_FILE

Default: /var/log/salt/minion

可以将minion日志发送到常规文件、本地路径名或网络位置。 另请参见log_file

Examples:

log_file: /var/log/salt/minion
log_file: file:///dev/log
log_file: udp://loghost:10514

LOG_LEVEL

Default: warning

日志输出级别。

log_level: warning

LOG_LEVEL_LOGFILE

Default: warning

要发送到日志文件的消息级别。 另请参见log_level_logfile。 如果未明确设置该参数值,它将继承log_level选项设置的级别。

log_level_logfile: warning

LOG_DATEFMT

Default: %H:%M:%S

在控制台中打印的日志信息使用的日期与时间格式。参见log_datefmt

log_datefmt: '%H:%M:%S'

LOG_DATEFMT_LOGFILE

Default: %Y-%m-%d %H:%M:%S

在日志文件中打印的日志信息使用的日期与时间格式。参见log_datefmt_logfile

log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'

LOG_FMT_CONSOLE

Default: [%(levelname)-8s] %(message)s

定义在控制台上打印的日志信息的格式。参见log_fmt_console

注意:由于日志系统在minion配置之前加载,因此在log_fmt_console而不是color配置中启用了对日志颜色的定义。

控制台日志颜色由这些其他格式化程序指定:
%(colorlevel)s %(colorname)s %(colorprocess)s %(colormsg)s

由于希望在消息的着色中包括周围的括号’[‘和’]’,因此这些颜色格式化器也包括填充。 Color LogRecord属性仅适用于控制台日志记录。

log_fmt_console: '%(colorlevel)s %(colormsg)s'
log_fmt_console: '[%(levelname)-8s] %(message)s'

LOG_FMT_LOGFILE

Default: %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s

设定日志文件中日志信息的格式,参见 log_fmt_logfile.

log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'

LOG_GRANULAR_LEVELS

Default: {}

这可以用于更具体地控制日志记录级别。 另请参见log_granular_levels

LOG_ROTATE_MAX_BYTES

Default: 0

单个日志文件在轮转之前可以包含的最大字节数。 值为0表示将禁用此功能。 目前仅支持Windows。 在其他平台上,使用“logrotate”等外部工具来管理日志文件。

LOG_ROTATE_BACKUP_COUNT

Default: 0

轮转日志文件时要保留的备份文件数。 仅在log_rotate_max_bytes大于0时使用。目前仅在Windows上受支持。 在其他平台上,使用“logrotate”等外部工具来管理日志文件。

ZMQ_MONITOR

Default: False

为了诊断minions断开连接或丢失返回的问题,ZeroMQ支持使用监视器套接字来记录连接事件。 此功能需要ZeroMQ 4.0或更高版本。

要启用ZeroMQ监视器套接字,请将“zmq_monitor”设置为“True”并记录debug级别或更高级别。

一个日志事件的样例是:

[DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
'value': 27, 'description': 'EVENT_DISCONNECTED'}```
记录的所有事件都将包含字符串ZeroMQ事件。 当minion启动并且最初连接到master时,应记录连接事件。 如果没有,请检查debug日志输出以及是否安装了必需的ZeroMQ版本。

## TCP_AUTHENTICATION_RETRIES
Default: 5

在salt master主机重新联机时,minion重试连接并进行身份验证的次数。

Zeromq做了很多事情来确保连接重新联机时他们可以重新进行身份验证。 如果旧连接在重新验证时已经超时,则tcp传输会尝试建立新连接。

-1 for infinite tries.

## FAILHARD
Default: False

设置全局失败标志。 这将通知所有状态在遇到单个状态失败时停止运行。
```yaml
failhard: False

INCLUDE-CONFIGURATION

可以从多个文件加载配置。 按下面的顺序依次加载:

  • minion配置文件
  • default_include配置项指定的符合glob匹配规则的文件
  • include配置项指定的符合glob匹配规则的文件

每个后续人加载步骤都会覆盖前面步骤中定义的任何值。 因此,其中一个default_include文件中定义的任何配置选项都将覆盖minion配置文件中的相同值,并且在include中定义的任何选项都将覆盖两者。

DEFAULT_INCLUDE

Default: minion.d/*.conf

minion可以包含来自其他文件的配置。 默认情况下,minion将自动包含minion.d/*.conf中的所有配置文件,其中minion.d相对于minion配置文件的目录。

注意:Salt在minion.d目录中创建文件供自己使用。 这些文件以下划线为前缀。 一个常见的例子是_schedule.conf文件。

INCLUDE

Default: not defined

minion可以包含来自其他文件的配置。 要启用此功能,请将路径列表传递给此选项。 路径可以是相对的,也可以是绝对的; 如果是相对的,它们被认为是相对于主minion配置文件所在的目录。路径可以使用shell样式的globbing。 如果没有文件与传递给此选项的路径匹配,则minion将记录警告消息。

# Include files from a minion.d directory in the same
# directory as the minion config file
include: minion.d/*.conf

# Include a single extra file into the configuration
include: /etc/roles/webserver

# Include several files and the minion.d directory
include:
  - extra_config
  - minion.d/*
  - /etc/roles/webserver

KEEPALIVE-SETTINGS

TCP_KEEPALIVE

Default: True

在TCP端口上启用tcp keepalive功能。 此设置可用于在不稳定的网络环境中优化Salt连接问题。

tcp_keepalive: True

TCP_KEEPALIVE_CNT

Default: -1

设置ZeroMQ TCP keepalive计数。 可用于调整minion断开连接的问题。

tcp_keepalive_cnt: -1

TCP_KEEPALIVE_IDLE

Default: 300

设置ZeroMQ TCP keepalive idle时间。 可用于调整minion断开连接的问题。

tcp_keepalive_idle: 300

TCP_KEEPALIVE_INTVL

Default: -1

设置ZeroMQ TCP keepalive间隔。 可用于调整minion断开连接的问题。

tcp_keepalive_intvl: -1

FROZEN-BUILD-UPDATE-SETTINGS

这些选项控制salt.modules.saltutil.update()如何与esky Frozen应用程序一起工作。 有关更多信息,请访问https://github.com/cloudmatrix/esky/

Esky是一个用于冻结Python应用程序的自动更新框架。它提供了一个简单的API,应用程序可以通过它找到、获取和安装更新,以及一个引导机制,可以在面对失败或部分更新时保持应用程序的安全。 更新也可以作为差异补丁发送。不幸的是该项目已经不再维护了,没竞争过提供类似服务功能的pyinstaller 和 pyupdater。

UPDATE_URL

Default: False (Update feature is disabled)

查找应用程序更新时使用的URL。 Esky依赖于目录列表来搜索新版本。 在Master上运行一个Web服务器是大多数场景下的不错选择。

update_url: 'http://salt.example.com/minion-updates'

UPDATE_RESTART_SERVICES

Default: [] (service restarting on update is disabled)

更新minion软件时要重新启动的服务列表。 这通常只是包含minion服务名称的列表,但你可能还有其他需要使用它的服务。

update_restart_services: ['salt-minion']

WINREPO_CACHE_EXPIRE_MIN

New in version 2016.11.0.

Default: 1800

如果设置为非零整数,则如果元数据的TTL小于此值,则将refresh=True传递给windows pkg模块中的函数时将不会刷新Windows repo元数据。 例外情况是pkg.refresh_db,无论TTL大小,它都会刷新元数据。
yaml
winrepo_cache_expire_min: 1800


## WINREPO_CACHE_EXPIRE_MAX
*New in version 2016.11.0.*

Default: 21600

如果windows repo元数据早于此值,并且windows pkg模块中的函数需要元数据,则将刷新元数据。
```yaml
winrepo_cache_expire_max: 86400

MINION-WINDOWS-SOFTWARE-REPO-SETTINGS

重要:这些配置选项,minion既可以在master-minion模式,也可以在masterless模式下运行。

WINREPO_SOURCE_DIR

Default: salt://win/repo-ng/

winrepo sls 文件的存储路径。

winrepo_source_dir: salt://win/repo-ng/

STANDALONE-MINION-WINDOWS-SOFTWARE-REPO-SETTINGS

重要:这些配置项仅支持minion运行在 masterless 模式下 (set file_client to local).

WINREPO_DIR

Changed in version 2015.8.0: Renamed from win_repo to winrepo_dir. Also, this option did not have a default value until this version.

Default: C:\salt\srv\salt\win\repo

设定在minon上检出winrepo_remotes存储库的存储路径。

winrepo_dir: 'D:\winrepo'

WINREPO_DIR_NG

New in version 2015.8.0: A new ng repo was added.

Default: /srv/salt/win/repo-ng

设定在minon上检出winrepo_remotes_ng存储库的存储路径,用于2015.8.0及后续版本的minions.

winrepo_dir_ng: /srv/salt/win/repo-ng

WINREPO_CACHEFILE

Changed in version 2015.8.0: Renamed from win_repo_cachefile to winrepo_cachefile. Also, this option did not have a default value until this version.

Default: winrepo.p

winrepo缓存路径,使用基于winrepo_dir的相对路径。

winrepo_cachefile: winrepo.p

WINREPO_REMOTES

Changed in version 2015.8.0: Renamed from win_gitrepos to winrepo_remotes. Also, this option did not have a default value until this version.

New in version 2015.8.0.

Default: [‘https://github.com/saltstack/salt-winrepo.git’]

要checkout的git存储库列表并包含在winrepo中。

winrepo_remotes:
  - https://github.com/saltstack/salt-winrepo.git

要指定存储库的特定修订版,请在存储库的URL前面添加提交ID:

winrepo_remotes:
  - '<commit_id> https://github.com/saltstack/salt-winrepo.git'

将<commit_id>替换为提交ID的SHA1哈希。 指定提交ID很有用,因为它允许在最新版本的repo中引入错误时恢复到以前的版本。

WINREPO_REMOTES_NG

New in version 2015.8.0: A new ng repo was added.

Default: [‘https://github.com/saltstack/salt-winrepo-ng.git’]

设定需要检出的git存储库的地址列表,用于2015.8.0及后续版本的minions.

winrepo_remotes_ng:
  - https://github.com/saltstack/salt-winrepo-ng.git

要指定存储库的特定修订版,请在存储库的URL前面添加提交ID:

winrepo_remotes_ng:
  - '<commit_id> https://github.com/saltstack/salt-winrepo-ng.git'

将<commit_id>替换为提交ID的SHA1哈希。 指定提交ID很有用,因为它允许在最新版本的repo中引入错误时恢复到以前的版本。

SSH_MERGE_PILLAR

New in version 2018.3.2.

Default: True

将已编译的pillar数据与已有的全局pillar数据合并。 当使用salt-ssh或salt-call --local并覆盖状态文件中的pillar数据时,这很有用:

apply_showpillar:
  module.run:
    - name: state.apply
    - mods:
      - showpillar
    - kwargs:
          pillar:
              test: "foo bar"

如果设置为True,showpillar状态将可以访问全局pillar数据。

如果设置为False,则只有覆写的pillar数据可用于showpillar状态。

猜你喜欢

转载自blog.csdn.net/watermelonbig/article/details/89304240