我是靠谱客的博主 瘦瘦黑猫,最近开发中收集的这篇文章主要介绍Salt-Minion配置文件详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#主配置 /etc/salt/minion

##### 主要配置设置 #####

default_include

默认值:minion.d/*.conf

master可以从其他文件读取配置,默认情况下master将自动的将master.d/*.conf中的配置读取出来并应用,其中master.d目录是相对存在于主配置文件所在的目录

default_include: minion.d/*.conf


master

默认值:salt

master服务器的ID

master:salt


retry_dns

默认值:30

minion在解析master的ip失败后的重试等待时间,设置为0,则关闭重试

retry_dns:30


user

默认值:root

minion的运行用户,关系到minion执行命令的权限

user:root


pidfile

默认值:/var/run/salt-minion.pid

minion的pid文件位置

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


root_dir

默认值:指定该目录为salt运行的根目录,改变它可以使salt从另外一个目录开始运行,好比chroot

root_dir:/


pki_dir

默认值:/etc/salt/pki/minion

存储PIK信息的目录

pki_dir: /etc/salt/pki/minion


id

不指定的话,salt通过socket.getfqdn()来获取主机的名称来作为标识,指定给ID,作为minion与master交互的身份标识

id: 192.168.0.100


append_domain

指定一个主机名称或是一个域名,当socket.getfqdn()获取主机标识失败时候,可以用来作为替补ID

append_domain : 192.168.0.100


grains


使用sls文件给minion自定义静态的grain信息。

grains相当于对minion特别信息的匹配对象组,例如例子里面的匹配粒子信息中roles值为webserber,memcache的minion

## 注意sls文件是利用缩进两个空格来作为缩进标识

grains:

  roles:

    - webserver

    - memcache

  deployment: datacenter4

  cabinet: 13

  cab_u: 14-15


cachedir

默认值:/var/cache/salt/minion

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

cachedir: /var/cache/salt/minion


verify_env

默认值:True

启动时候对配置目录进行验证并设置权限

verify_env: True


cache_jobs

默认值:False

minion会在本地缓存salt执行过的命令返回数据。可以减少命令执行时间,减低IO,但结果可能不会实时

cache_jobs: False


sock_dir

默认值:/var/run/salt/minion

minion socke保存目录

sock_dir: /var/run/salt/minion


output

默认值:nested

设置salt-call的默认输出方式,nested是使用默认设置的来输出

output: nested


color

默认值:True

是否对输出结果进行颜色渲染

color:True


back_mode

默认值:minion

当进行文件更新,修改,删除操作时,备份文件的方式,minion是本地进行备份

/etc/ssh/sshd_config:

 file.managed:

  - source: salt://ssh/sshd_config

  - backup: minion


acceptance_wait_time

默认值:10

等待master接受minion的认证时间

acceptance_wait_time: 10


acceptance_wait_time_max

默认值:0

断线重试次数,如果设置为0,无限次重试,如果大于0,则连接重试到该设置值

acceptance_wait_time_max: 0


random_reauth_delay

默认值:60

随机重认证间隔(秒),例如当master修改key时,所有的minion需要重新认证,这个时候容易产生syn风暴,设置该随机值,可以使minion分不同时间进行重新认证,避免该问题

random_reauth_delay:60


loop_interval

默认值:60

minion定时任务执行时间间隔

loop_interval: 60


dns_check

默认值:True

确保原先的dns解析是正常的

dns_check: True


ipc_mode

默认值:ipc

windows缺少IPC协议支持,而是使用更慢的TCP来作为内部进程交流的协议,在windows上需要设置为tcp

ipc_mode: ipc


tcp_pub_port

默认值:4510

当设置为tcp模式时候,该参数覆盖掉原先minon指定的tcp端口

tcp_pub_port: 4510


tcp_pull_port

默认值:4511

当设置为tcp模式时候,该参数覆盖掉原先minon指定的tcp端口

tcp_pull_port: 4511


include

默认值:/etc/salt/extra_config

可以包含其他文件中的配置,要启用此功能,通过此参数定义路径或文件,此路径可以是相对的也可以是绝对的,相对的,会被看作相对于主配置文件所在的目录,路径中还可以使用类似于shell风格的通配符,如果没有文件匹配的路径传递给此选项,那么master将会在日志中记录一条警告的消息


include:

  - /etc/salt/extra_config

  - /etc/roles/webserver



#####   Minion 模块管理配置    #####

disable_modules

默认值:[]

限制允许执行的模块,对特别的权限可以进行设置,防止服务器重启等

disable_modules: [cmd,test]


module_dirs

默认值:[]

模块可以通过指定任意目录进行加载;指定一系列的外部目录用于搜索minion的模块以及returners。指定的路径必须给minion完全的操作权限

module_dirs: []


returner_dirs

默认值:[]

模块可以通过指定任意目录进行加载;指定一系列的外部目录用于搜索minion的模块以及returners。指定的路径必须给minion完全的操作权限

returner_dirs: []


states_dirs

默认值:[]

模块可以通过指定任意目录进行加载;指定一系列的外部目录用于搜索minion的模块以及returners。指定的路径必须给minion完全的操作权限

states_dirs: []


render_dirs

默认值:[]

模块可以通过指定任意目录进行加载;指定一系列的外部目录用于搜索minion的模块以及returners。指定的路径必须给minion完全的操作权限

render_dirs: []


providers

minion的模块provider可以通过参数providers来进行特别指定

providers:

  pkg: yumpkg5


ython_enable

默认值:False

允许加载加密的模块

ython_enable: False


#####    State 管理设置    #####

renderer

默认值:yaml_jinja

state配置文件支持下面的配置语法,通过执行该参数,告诉saltstatck解析state模板的语言方法

# yaml_jinja

# yaml_mako

# yaml_wempy

# json_jinja

# json_mako

# json_wempy

enderer: yaml_jinja


failhard

默认值:False

设置一个全局的failhard表示,当单个的状态执行失败后,将会通知所有的状态停止运行状态

failhard: False


autoload_dynamic_modules

默认值:True

自动发现并加载master上的模块

autoload_dynamic_modules: True


clean_dynamic_modules

默认值:True

如果发现master上的模块已经清除,则自动清楚对应的模块

clean_dynamic_modules: True


environment

默认值:None

master在运行states的时候,通常不会把minion分割出来给任意一个单独的环境,但在minion端,可以自行进行独立的环境设置

environment: None


state_stop

默认值:top.sls

指定top.sls文件的位置

state_top: top.sls


startup_states

默认值:''

在minion daemon开始时执行states.

 # 'highstate' -- 执行 state.highstate

# 'sls' -- 读取 sls_list 参数配置的路径下的sls文件列表并执行

# 'top' -- 读取top_file参数设置的文件并执行master上面设置的sls配置

startup_states: ''


sls_list

当startup_states配置为sls,该参数列出minion要运行的states文

sls_list:

  - edit.vim

  - hyper


top_file

默认值:''

当startup_states是top时,指定要执行的top文件

top_file: ''


#####     文件目录设置    #####

file_client

默认值:remote

设置minion的文件客户端,reomote,默认选项,minon会到master去查找文件;设置为local,则minion会在本地查找配置文件

file_client: remote


file_roots

默认值:

file_roots:

  base:

    - /srv/salt

设置文件客户端路径

file_roots:

  base:

    - /srv/salt/

  dev:

    - /srv/salt/dev/services

    - /srv/salt/dev/states

  prod:

    - /srv/salt/prod/services

    - /srv/salt/prod/states


fileserver_limit_traversal

默认值:False

设置saltstack查找state文件时候,仅遍历查找带sls后缀的文件或是带_modules后缀的目录

fileserver_limit_traversal: False


pillar_roots

默认值:


pillar_roots:

  base:

   - /srv/pillar

当file_client设置为local时候,该参数制定pillar的搜索路径

pillar_roots:

  base:

   - /srv/pillar


######       安全设置       #####

open_mode

默认值:False

open_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True

open_mode: False


permissive_pki_access

默认值:False

permissive_pki_access:False


state_verbose

默认值:True

state_verbose允许从minions返回更多详细的信息,通常清空下只返回失败或者已经更改,但是将state_verbose设置为True,将会返回所有的状态检查

state_verbose: True


state_output

默认值:full

state_output的设置将会改变信息输出的格式,当被设置为”full”时,将全部的输出一行一行的显示输出;当被设置为”terse“时,将会被缩短为一行进行输出;当被设置为”mixed”时,输出样式将会是简洁的,除非状态失败,这种情况下将会全部输出;当被设置为”change”时,输出将会完全输出除非状态没有改变

state_output:full


master_finger

默认值:''

master_finger:''


######         Thread 设置        #####

multiprocessing

默认值:True

多线程支持

multiprocessing: True


#####         Logging 设置       #####

log_file

默认值:/var/log/salt/minion

log输出路径设置

#log_file: /var/log/salt/minion

#log_file: file:///dev/log

#log_file: udp://loghost:10514

#log_file: /var/log/salt/minion

#key_logfile: /var/log/salt/key


log_level

默认值:warning

日志文件输出等级:'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.

log_level_logfile:warning


log_level_logfile

默认值:warning

日志文件输出等级:'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.

log_level_logfile:warning


log_datefmt

默认值:'%H:%M:%S'

控制台日志日期格式

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


log_datefmt_logfile

默认值:'%Y-%m-%d %H:%M:%S'

日志文件日期格式

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


log_fmt_console

默认值:'[%(levelname)-8s] %(message)s'

控制台日志格式

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


log_fmt_logfile

默认值:'%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'

日志文件信息格式

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


log_granular_levels

默认值:{}

更加高级的指定日志输出

log_granular_levels:

   'salt': 'warning',

   'salt.modules': 'debug'


######      Module 配置      #####

test

默认值:True

指定允许所有的模块运行测试模式

test: True


test.foo

默认值:foo

给测试模块test.foo指定一个简单的值

test.foo: foo


test.bar

默认值:[baz,quo]

列表的测试模块值

test.bar: [baz,quo]


test.baz

默认值:{spam: sausage, cheese: bread}

测试模块指定字典格式的值

test.baz: {spam: sausage, cheese: bread}


转载于:https://blog.51cto.com/faded/1759121

最后

以上就是瘦瘦黑猫为你收集整理的Salt-Minion配置文件详解的全部内容,希望文章能够帮你解决Salt-Minion配置文件详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部