日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Saltstack Master 配置文件详解

發(fā)布時(shí)間:2024/10/12 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Saltstack Master 配置文件详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#主配置 /etc/salt/master

?

interface

默認(rèn)值:0.0.0.0(所有的網(wǎng)絡(luò)地址接口)

綁定到本地的某個(gè)網(wǎng)絡(luò)地址接口

interface: 192.168.30.131

?

?

publish_port

默認(rèn)值:4505

設(shè)置master與minion的認(rèn)證通信端口

publish_port: 4505

?

?

user

默認(rèn)值:root

運(yùn)行salt進(jìn)程的用戶?

user: root

?

max_open_files

默認(rèn)值:100000

每一個(gè)minion連接到master,至少要使用一個(gè)文件描述符,如果足夠多的minion連接到master上,你將會(huì)從控制臺(tái)上看到salt-master crashes:

Too many open files (tcp_listener.cpp:335)

Aborted (core dumped)

默認(rèn)值這個(gè)值取決于ulimit -Hn的值,即系統(tǒng)的對打開文件描述符的硬限制

如果你希望重新設(shè)置改值或者取消設(shè)置,記住這個(gè)值不能超過硬限制,提高硬限制取決于你的操作系統(tǒng)或分配,一個(gè)好的方法是internet找到對應(yīng)操作系統(tǒng)的硬限制設(shè)置,比如這樣搜索:

raise max open files hard limit debian?

max_open_files: 100000

?

?

worker_threads

默認(rèn)值:5

啟動(dòng)用來接收或應(yīng)答minion的線程數(shù)。如果你有很多minion,而且minion延遲你的應(yīng)答,你可以適度的提高該值.

在點(diǎn)對點(diǎn)的系統(tǒng)環(huán)境中使用時(shí),該值不要被設(shè)置為3以下,但是可以將其設(shè)置為1

worker_threads: 5

?

?

ret_port

默認(rèn)值:4506

這個(gè)端口是master用來發(fā)送命令或者接收minions的命令執(zhí)行返回信息?

ret_port: 4506

?

?

pidfile

默認(rèn)值:/var/run/salt-master.pid

指定master的pid文件位置?

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

?

?

root_dir

默認(rèn)值:/

指定該目錄為salt運(yùn)行的根目錄,改變它可以使salt從另外一個(gè)目錄開始運(yùn)行,好比chroot?

root_dir: /

?

?

pki_dir

默認(rèn)值:/etc/salt/pki

這個(gè)目錄是用來存放pki認(rèn)證秘鑰?

pki_dir: /etc/salt/pki

?

?

cachedir

默認(rèn)值:/var/cache/salt

這個(gè)目錄是用來存放緩存信息,特別是salt工作執(zhí)行的命令信息?

cachedir: /var/cache/salt

?

?

keep_jobs

默認(rèn)值:24

設(shè)置保持老的工作信息的過期時(shí)間,單位小時(shí)

?

job_cache

默認(rèn)值:True

設(shè)置master維護(hù)的工作緩存,這是一個(gè)很好的功能,當(dāng)你的Minons超過5000臺(tái)時(shí),他將很好的承擔(dān)這個(gè)大的架構(gòu),關(guān)閉這個(gè)選項(xiàng),之前的工作執(zhí)行以及工作系統(tǒng)將無法被利用,一般不推薦關(guān)掉改選項(xiàng),開啟改選項(xiàng)將會(huì)是很明智的,他將使master獲得更快的IO系統(tǒng)

?

ext_job_cache

默認(rèn)值:”

對所有的minions使用指定的默認(rèn)值returner,當(dāng)使用了這個(gè)參數(shù)來指定一個(gè)returner并且配置正確,minions將會(huì)一直將返回的數(shù)據(jù)返回到returner,這也會(huì)默認(rèn)值禁用master的本地緩存?

ext_job_cache: redis

?

?

minion_data_cache

默認(rèn)值:True

minion data cache是關(guān)于minion信息存儲(chǔ)在master上的參數(shù),這些信息主要是pillar 和 grains數(shù)據(jù).這些數(shù)據(jù)被緩存在cachedir定義的目錄下的minion目錄下以minion名為名的目錄下并且預(yù)先確定哪些minions將從執(zhí)行回復(fù)?

minion_cache_dir: True

?

?

enforce_mine_cache

默認(rèn)值:False

默認(rèn)情況下當(dāng)關(guān)閉了minion_data_cache,mine將會(huì)停止工作,因?yàn)閙ine是基于緩存數(shù)據(jù),通過啟用這個(gè)選項(xiàng),我們將會(huì)顯示的開啟對于mine系統(tǒng)的緩存功能?

enforce_mine_cache: False

?

?

sock_dir

默認(rèn)值:/tmp/salt-unix

指定unix socket主進(jìn)程通信的socket創(chuàng)建路徑

?


master的安全配置

?

open_mode

默認(rèn)值:False

open_mode是一個(gè)危險(xiǎn)的安全特性,當(dāng)master遇到pki認(rèn)證系統(tǒng),秘鑰混淆和身份驗(yàn)證失效時(shí),打開open_mode,master將會(huì)接受所有的身份驗(yàn)證。這將會(huì)清理掉pki秘鑰接受的minions。通常情況下open_mode不應(yīng)該被打開,它只適用于短時(shí)間內(nèi)清理pki keys,若要打開它,可將值調(diào)整為True

open_mode: False

?

auto_accept

默認(rèn)值:False

開啟auto_accept。這個(gè)設(shè)置將會(huì)使master自動(dòng)接受所有發(fā)送公鑰的minions

auto_accept: False

?

?

autosign_file

默認(rèn)值:/etc/salt/autosign.conf

如果autosign_file的值被指定,那么autosign_file將會(huì)通過該輸入允許所有的匹配項(xiàng),首先會(huì)搜索字符串進(jìn)行匹配,然后通過正則表達(dá)式進(jìn)行匹配。這是不安全的

autosign_file: /etc/salt/autosign.conf

?

?

client_acl

默認(rèn)值:{}

開啟對系統(tǒng)上非root的系統(tǒng)用戶在master上執(zhí)行特殊的模塊,這些模塊名可以使用正則表達(dá)式進(jìn)行表示

client_acl:fred:- test.ping- pkg.*

?

client_acl_blacklist

默認(rèn)值:{}

黑名單用戶或模塊

這個(gè)例子表示所有非sudo用戶以及root都無法通過cmd這個(gè)模塊執(zhí)行命令,默認(rèn)情況改配置是完全禁用的

client_acl_blacklist:users:- root- '^(?!sudo_).*$' # all non sudo usersmodules:- cmd

?

?

external_auth

默認(rèn)值:{}

salt的認(rèn)證模塊采用外部的認(rèn)證系統(tǒng)用來做認(rèn)證和驗(yàn)證用戶在salt系統(tǒng)中的訪問區(qū)域

external_auth:pam:fred:- test.*

?

token_expire

默認(rèn):43200

新令牌生成的時(shí)間間隔,單位秒,默認(rèn)是12小時(shí)

token_expire: 43200

?

?

file_recv

默認(rèn)值:False

允許minions推送文件到master上,這個(gè)選項(xiàng)默認(rèn)是禁用的,出于安全考慮

file_recv: False

?

?

#######################

master模塊管理

?

runner_dirs

默認(rèn)值:[] 設(shè)置搜索runner模塊的額外路徑

runner_dirs: []

?

?

cython_enable

默認(rèn)值:False

設(shè)置為true來開啟對cython模塊的編譯

cython_enable: False

?

?


master狀態(tài)系統(tǒng)設(shè)置

?

state_verbose

默認(rèn):False

state_verbose允許從minions返回更多詳細(xì)的信息,通常清空下只返回失敗或者已經(jīng)更改,但是將state_verbose設(shè)置為True,將會(huì)返回所有的狀態(tài)檢查

state_verbose: True

?

?

state_output

默認(rèn)值:full

state_output的設(shè)置將會(huì)改變信息輸出的格式,當(dāng)被設(shè)置為”full”時(shí),將全部的輸出一行一行的顯示輸出;當(dāng)被設(shè)置為”terse“時(shí),將會(huì)被縮短為一行進(jìn)行輸出;當(dāng)被設(shè)置為”mixed”時(shí),輸出樣式將會(huì)是簡潔的,除非狀態(tài)失敗,這種情況下將會(huì)全部輸出;當(dāng)被設(shè)置為”change”時(shí),輸出將會(huì)完全輸出除非狀態(tài)沒有改變

state_output: full

?

?

state_top

默認(rèn)值:top.sls

狀態(tài)系統(tǒng)使用一個(gè)入口文件告訴minions在什么環(huán)境下使用什么模塊,這個(gè)狀態(tài)入口文件被定義在基礎(chǔ)環(huán)境的相對根路徑下

state_top: top.sls

?

?

external_nodes

默認(rèn)值:None

這個(gè)外部節(jié)點(diǎn)參數(shù)允許salt來收集一些數(shù)據(jù),通常被放置在一個(gè)入口文件或外部節(jié)點(diǎn)控制器.外部節(jié)點(diǎn)的選擇是可執(zhí)行的,將會(huì)返回ENC數(shù)據(jù),記住如果兩者都啟用的話salt會(huì)將外部節(jié)點(diǎn)和入口文件的結(jié)果進(jìn)行綜合匯總。

external_nodes: cobbler-ext-nodes

?

?

renderer

默認(rèn)值:yaml_jinja

使用渲染器用來渲染minions的狀態(tài)數(shù)據(jù)

renderer: yaml_jinja

?

?

failhard

默認(rèn)值:False

設(shè)置一個(gè)全局的failhard表示,當(dāng)單個(gè)的狀態(tài)執(zhí)行失敗后,將會(huì)通知所有的狀態(tài)停止運(yùn)行狀態(tài)

failhard: False

?

?

test

默認(rèn)值:False

如果真的要作出改變或者僅僅通知將要執(zhí)行什么改變時(shí)設(shè)置所有的狀態(tài)調(diào)用為test

?

test: False

?

#######################

master文件服務(wù)器設(shè)置

?

fileserver_backend

默認(rèn)值:

fileserver_backend: - roots

?

?

salt支持模塊化的后端文件系統(tǒng)服務(wù)器,它允許salt通過第三方的系統(tǒng)來管理收集文件并提供給minions使用,可以配置多個(gè)后端文件系統(tǒng),這里支持gitfs、hgfs、roots、s3fs文件調(diào)用的搜索順序按照后臺(tái)文件系統(tǒng)的配置順序來搜索,默認(rèn)的設(shè)置只開啟了標(biāo)準(zhǔn)的后端服務(wù)器roots,具體的根選項(xiàng)配置通過file_roots參數(shù)設(shè)置

fileserver_backend: - roots - gitfs

?

?

file_roots

默認(rèn)值:

base: - /srv/salt

?

?

salt運(yùn)行一個(gè)輕量級(jí)的文件服務(wù)器通過ZeroMQ對minions進(jìn)行文件傳輸,因此這個(gè)文件服務(wù)器是構(gòu)造在master的守護(hù)進(jìn)程中,并且不需要依賴于專用的端口

文件服務(wù)器的工作環(huán)境傳遞給master,每一個(gè)環(huán)境可以有多個(gè)跟目錄,但是相同環(huán)境下多個(gè)文件的子目錄不能相同,否則下載的文件將不能被可靠的保證,一個(gè)基礎(chǔ)環(huán)境依賴于主的入口文件,如:?

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

?

?

hash_type

默認(rèn)值:md5

hash_type是用來當(dāng)發(fā)現(xiàn)在master上需要對一個(gè)文件進(jìn)行hash時(shí)的hash使用的算法,默認(rèn)是md5.但是它也支持sha1,sha224,shar256,shar384,shar512?

hash_type: md5

?

?

file_buffer_size

默認(rèn)值:1048576

文件服務(wù)器的緩存區(qū)大小?

file_buffer_size: 1048576

?

?


pillar配置

?

pillar_roots

默認(rèn)值:?

base: - /srv/pillar

?

?

設(shè)置不同的環(huán)境對應(yīng)的存放pillar數(shù)據(jù)的目錄,這個(gè)配置和file_roots參數(shù)配置一樣?

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

?

?

ext_pillar

當(dāng)進(jìn)行pillar數(shù)據(jù)收集時(shí),這個(gè)ext_pillar參數(shù)允許調(diào)用任意數(shù)量的外部pillar接口,這個(gè)配置是基于ext_pillar函數(shù),你可以從這個(gè)找到這個(gè)函數(shù)https://github.com/saltstack/salt/blob/develop/salt/pillar

默認(rèn)情況下,這個(gè)ext_pillar接口沒有配置運(yùn)行

默認(rèn)值:None?

ext_pillar:- hiera: /etc/hiera.yaml- cmd_yaml: cat /etc/salt/yaml- reclass:inventory_base_uri: /etc/reclass

?

?

從這里可以查到pillar的一些額外細(xì)節(jié)

?


syndic server配置

?

syncdic是salt master用來通過從整體架構(gòu)中高于自己層級(jí)的master或者syndic接收命令傳遞給minions的中間角色。使用syndic非常簡單,如果這個(gè)master在整體架構(gòu)中,他的下級(jí)存在syndic server,那么需要將master的配置文件中的”order_master”值設(shè)置為True,如果這個(gè)master還需要運(yùn)行一個(gè)syndic進(jìn)程,扮演另外一個(gè)角色,那么需要設(shè)置主master server的信息(上一級(jí)master)

千萬別忘記了,這將意味著它將與其他master共享它的minion的id和pki_dir

?

order_masters

默認(rèn)值:False

當(dāng)額外的數(shù)據(jù)需要發(fā)送和傳遞,并且這個(gè)master控制的minions是被低等級(jí)的master或syndic直接管理下,那么”order_masters”這個(gè)值必須得設(shè)置為True?

order_master: Fals

?

e

?

syndic_master

默認(rèn)值:None

如果這個(gè)master運(yùn)行的salt-syndic連接到了一個(gè)更高層級(jí)的master,那么這個(gè)參數(shù)需要配置成連接到的這個(gè)高層級(jí)的master的地址?

syndic_master: masterofmasters

?

?

syndic_master_port

默認(rèn)值:4506

如果這個(gè)master運(yùn)行的salt-syndic連接到了一個(gè)更高層級(jí)的master,那么這個(gè)參數(shù)需要配置成連接到的這個(gè)高層級(jí)master的監(jiān)聽端口?

syndic_master_port: 4506

?

?

syndic_log_file

默認(rèn)值:syndic.log

為syndic進(jìn)程指定日志文件?

syndic_log_file: salt-syndic.log

?

?

syndic_pidfile

默認(rèn)值:salt-syndic.pid

為syndic進(jìn)程指定pid文件?

syndic_pidfile: syndic.pid

?

?


Peer Publish設(shè)置

?

salt minions可以向其他minions發(fā)送命令,但是僅僅在minion允許的情況下。默認(rèn)情況下”Peer Publication”是關(guān)閉的,當(dāng)需要開啟的時(shí)候,需要開啟對應(yīng)的minion和對應(yīng)的命令,這樣可以允許根據(jù)個(gè)人的minions安全的劃分出命令

?

peer

默認(rèn)值:{}

這個(gè)配置使用正則表達(dá)式去匹配minions并且是一個(gè)正則表達(dá)式列表函數(shù),下面這個(gè)例子將允許名為foo.example.com的minion認(rèn)證通過后執(zhí)行test和pkg模塊中的函數(shù)?

peer: foo.example.com: - test.* - pkg.*

?

?

這將允許所有的minion執(zhí)行所有的命令?

peer: .*: - .*

?

?

這樣的配置是極不推薦的,因?yàn)槿魏稳说玫郊軜?gòu)中的任何一個(gè)minion即可擁有所有的minions,這是不安全的

?

peer_run

默認(rèn)值:{}

peer_run參數(shù)是用來打開runners在master所允許的minions上,peer_run的配置匹配格式和peer參數(shù)的配置一樣

下面這個(gè)例子允許foo.example.com的minion執(zhí)行manage.up runner?

peer_run:foo.example.com:- manage.up

?

NODE GROUPS

默認(rèn)值:{}

minions允許通過node groups來分成多個(gè)邏輯組,每個(gè)組由一個(gè)組名和復(fù)合模式組成?

nodegroups:group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'group2: 'G@os:Debian and foo.domain.com'

?

?


Master日志設(shè)置

?

log_file

默認(rèn)值:/var/log/salt/master

master的日志可以發(fā)送到一個(gè)普通文件,本地路徑名或者網(wǎng)絡(luò)位置,更多詳情

例如:?

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

?

?

log_level

默認(rèn)值:warning

按照日志級(jí)別發(fā)送信息到控制臺(tái),更多詳情?

log_level: warning

?

?

log_level_logfile

默認(rèn)值:warning

按照日志級(jí)別發(fā)送信息到日志文件,更多詳情?

log_level_logfile: warning

?

?

log_datefmt

默認(rèn)值:%H:%M:%S

發(fā)送到控制臺(tái)信息所用的日期時(shí)間格式,更多詳情?

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

?

?

log_datefmt_logfile

默認(rèn)值: %Y-%m-%d %H:%M:%S

發(fā)送到日志文件信息所用的日期時(shí)間格式,更多詳情?

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

?

?

log_fmt_console

默認(rèn)值: [%(levelname)-8s] %(message)s

控制臺(tái)日志信息格式,更多詳情?

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

?

?

log_fmt_logfile

默認(rèn)值: %(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s

%(asctime)s:2003-07-08 16:49:45

%(msecs)03.0f:當(dāng)前時(shí)間的毫秒部分

%(name):日志記錄調(diào)用器的名字

%(levelname):日志記錄級(jí)別

%(message)s:日志詳細(xì)信息

日志文件信息格式,更多詳情?

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

?

?

log_granular_levels

默認(rèn)值:{}

這可以更加具體的控制日志記錄級(jí)別,更多詳情

?

Include 配置

?

default_include

默認(rèn)值:master.d/*.conf

master可以從其他文件讀取配置,默認(rèn)情況下master將自動(dòng)的將master.d/*.conf中的配置讀取出來并應(yīng)用,其中master.d目錄是相對存在于主配置文件所在的目錄

?

include

默認(rèn)值:not defined

master可以包含其他文件中的配置,要啟用此功能,通過此參數(shù)定義路徑或文件,此路徑可以是相對的也可以是絕對的,相對的,會(huì)被看作相對于主配置文件所在的目錄,路徑中還可以使用類似于shell風(fēng)格的通配符,如果沒有文件匹配的路徑傳遞給此選項(xiàng),那么master將會(huì)在日志中記錄一條警告的消息?

# Include files from a master.d directory in the same # directory as the master config file include: master.d/*# Include a single extra file into the configuration include: /etc/roles/webserver# Include several files and the master.d directory include:- extra_config- master.d/*- /etc/roles/webserver

?

轉(zhuǎn)載于:https://www.cnblogs.com/zlyang/p/5941821.html

總結(jié)

以上是生活随笔為你收集整理的Saltstack Master 配置文件详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。