SaltStack入门【master配置详解 一】

本系列主要讲解SaltStack master端的各个配置参数,是根据官方文档翻译而来,因篇幅较长,所以将master的配置讲解分为三部分,希望能够帮助你更好、更快、更详细的了解SaltStack。

The Salt system is amazingly simple and easy to configure, the two components of the Salt system each have a respective configuration file. The salt-masteris configured via the master configuration file, and the salt-minion is configured via the minion configuration file.

The configuration file for the salt-master is located at /etc/salt/master by default. A notable exception is FreeBSD, where the configuration file is located at /usr/local/etc/salt. The available options are as follows:

PRIMARY MASTER CONFIGURATION

 

INTERFACE

Default: 0.0.0.0 (所有网络地址接口)

可以设置为绑定到指定的IP地址

interface: 192.168.0.1

 

IPV6

Default: False

是否开启IPV6的支持。

ipv6: True

 

PUBLISH_PORT

Default: 4505

设置master与minion的认证通信端口。

publish_port: 4505

 

MASTER_ID

Default: None

这个ID用于向minions发布任务,用于 MultiSyndics返回任务结果。

Note

这个字符串必须与syndic配置相同。

master_id: MasterOfMaster

 

USER

Default: root

运行salt进程的用户。

user: root

 

MAX_OPEN_FILES

Default: 100000

每个minion连接master至少一个文件描述符,如果minion连接使用超过了这个数值,将会报如下错误:

Too many open files (tcp_listener.cpp:335)
Aborted (core dumped)
max_open_files: 100000

这个值受限于ulimit -Hn的值,如果要设置更大的max_open_files值,首先需要设置系统的ulimit值

WORKER_THREADS

Default: 5

负责minions的命令传送和应答,如果minions较多且得不到master的应答,应该提高这个值。

worker_threads: 5

RET_PORT

Default: 4506

这个端口是master用来发送命令或者接收minions的命令执行结果返回信息。

ret_port: 4506

PIDFILE

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

指定master的pid文件。

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

ROOT_DIR

Default: /

指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,类似chroot。

root_dir: /

Note

root_dir目录设置将影响以下目录配置,是它们的根目录 pki_dir, cachedir, sock_dir, log_file, autosign_file, autoreject_file, pidfile.

 

PKI_DIR

Default: /etc/salt/pki

这个目录是用来存放pki认证秘钥。

pki_dir: /etc/salt/pki

EXTENSION_MODULES

自定义模块的目录。这个目录可以包含子目录为每个Salt 模块类型 “runners”, “output”, “wheel”, “modules”, “states”, “returners”,附加到root_dir目录下。

extension_modules: srv/modules

MODULE_DIRS

Default: []

类似 extension_modules, 但是这是一个附加的目录。

module_dirs:
  - /var/cache/salt/minion/extmods

CACHEDIR

Default: /var/cache/salt

这个目录是用来存放缓存信息,特别是salt工作执行的命令信息。

cachedir: /var/cache/salt

 

VERIFY_ENV

Default: True

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

verify_env: True

 

KEEP_JOBS

Default: 24

设置小时数保留旧工作信息的时间。

TIMEOUT

Default: 5

设置“salt”命令和接口的默认超时时间,单位:秒。

 

LOOP_INTERVAL

Default: 60

loop_interval选项控制master维护进程程检查周期。这个进程负责更新后端文件服务器,清理工作缓存执行计划,单位:秒。

OUTPUT

Default: nested

salt使用的命令输出器。

 

COLOR

Default: True

默认输出是有颜色的,要禁用有颜色输出设置的颜色值为False。

color: False

 

SOCK_DIR

Default: /var/run/salt/master

设置用于创建主进程通信UNIX套接字。

sock_dir: /var/run/salt/master

 

ENABLE_GPU_GRAINS

Default: True

开启master grains读取GPU硬件数据。

JOB_CACHE

Default: True

设置master维护的工作缓存,这是一个很好的功能,当你的Minons超过5000台时,他将很好的承担这个大的架构,关闭这个选项,之前的工作执行以及工作系统将无法被利用,一般不推荐关掉改选项,开启改选项将会是很明智的,他将使master获得更快的IO系统。

MINION_DATA_CACHE

Default: True

minion data cache是关于minion信息存储在master上的参数,这些信息主要是pillar 和 grains数据.这些数据被缓存在cachedir定义的目录下的minion目录下以minion名为名的目录下并且预先确定哪些minions将执行结果回复。

minion_data_cache: True

 

EXT_JOB_CACHE

Default: ''

对所有的minions使用指定的默认值returner,当使用了这个参数来指定一个returner并且配置正确,minions将会一直将返回的数据返回到returner,这也会默认值禁用master的本地缓存。

ext_job_cache: redis

EVENT_RETURN

New in version 2015.5.0.

Default: ''

指定一个日志事件返回到哪个returners。

Note

不是所有的returners都支持日志时间返回,event_return() function 可以验证是否支持。

event_return: cassandra_cql

MASTER_JOB_CACHE

New in version 2014.7.

Default: ‘local_cache’

指定 returner使用job cache. job cache 只会从master访问,不会从minions访问。

master_job_cache: redis

ENFORCE_MINE_CACHE

Default: False

默认情况下当关闭了minion_data_cache,mine将会停止工作,因为mine是基于缓存数据,通过启用这个选项,我们将会显示的开启对于mine系统的缓存功能

enforce_mine_cache: False

 

MAX_MINIONS

Default: 0

master允许连接的最大minions数量,默认是无限制的。

max_minions: 100

CON_CACHE

Default: False

如果max_minions用于大型装置,master可能经历高负载情况下,因为不必为每一个身份验证连接的检查数量。这个缓存提供了所有连接minion的minion-ids max_minions MWorker-processes,极大地提高了性能。

con_cache: True

 

PRESENCE_EVENTS

Default: False

使master定期寻找积极联系minions。业务事件发射事件总线上一个正则区间连接minions的列表,以及事件列表的新连接或断开连接的minions。这是一个只能掌握操作,不给下属执行。请注意,这并不通过本地主机检测连接到master的minions。

presence_events: False

发表评论