Skip to content

Latest commit

 

History

History
832 lines (615 loc) · 25.5 KB

04-2-1.Minion-Primary-Configuration-Minion基础配置参数.md

File metadata and controls

832 lines (615 loc) · 25.5 KB

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地址放在中括号里,并将该行用单引号括起来使其成为字符串:

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(有关详细信息,请参阅[此处](https://docs.saltstack.com/en/latest/ref/grains/all/salt.grains.metadata.html#module-salt.grains.metadata))。

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' ]