服务器配置文件salt,saltstack 配置文件详解
#主配置 /etc/salt/masterinterface
默認值:0.0.0.0(所有的網絡地址接口)
綁定到本地的某個網絡地址接口
1.interface:?192.168.0.1
publish_port
默認值:4505
設置master與minion的認證通信端口
1.publish_port:?4505
user
默認值:root
運行salt進程的用戶
1.user:?root
worker_threads
默認值:5
啟動用來接收或應答minion的線程數。如果你有很多minion,而且minion延遲你的應答,你可以適度的提高該值.
在點對點的系統環境中使用時,該值不要被設置為3以下,但是可以將其設置為1
1.worker_threads:?5
ret_port
默認值:4506
這個端口是master用來發送命令或者接收minions的命令執行返回信息
1.ret_port:?4506
pidfile
默認值:/var/run/salt-master.pid
指定master的pid文件位置
1.pidfile:?/var/run/salt-master.pid
root_dir
默認值:/
指定該目錄為salt運行的根目錄,改變它可以使salt從另外一個目錄開始運行,好比chroot
1.root_dir:?/
pki_dir
默認值:/etc/salt/pki
這個目錄是用來存放pki認證秘鑰
1.pki_dir:?/etc/salt/pki
cachedir
默認值:/var/cache/salt
這個目錄是用來存放緩存信息,特別是salt工作執行的命令信息
1.cachedir:?/var/cache/salt
keep_jobs
默認值:24
設置保持老的工作信息的過期時間,單位小時
job_cache
默認值:True
設置master維護的工作緩存,這是一個很好的功能,當你的Minons超過5000臺時,他將很好的承擔這個大的架構,關閉這個選項,之前的工作執行以及工作系統將無法被利用,一般不推薦關掉改選項,開啟改選項將會是很明智的,他將使master獲得更快的IO系統
ext_job_cache
默認值:”
對所有的minions使用指定的默認值returner,當使用了這個參數來指定一個returner并且配置正確,minions將會一直將返回的數據返回到returner,這也會默認值禁用master的本地緩存
1.ext_job_cache:?redis
minion_data_cache
默認值:True
minion data cache是關于minion信息存儲在master上的參數,這些信息主要是pillar 和 grains數據.這些數據被緩存在cachedir定義的目錄下的minion目錄下以minion名為名的目錄下并且預先確定哪些minions將從執行回復
1.minion_cache_dir:?True
enforce_mine_cache
默認值:False
默認情況下當關閉了minion_data_cache,mine將會停止工作,因為mine是基于緩存數據,通過啟用這個選項,我們將會顯示的開啟對于mine系統的緩存功能
1.enforce_mine_cache:?False
sock_dir
默認值:/tmp/salt-unix
指定unix socket主進程通信的socket創建路徑
master的安全配置
open_mode
默認值:False
open_mode是一個危險的安全特性,當master遇到pki認證系統,秘鑰混淆和身份驗證失效時,打開open_mode,master將會接受所有的身份驗證。這將會清理掉pki秘鑰接受的minions。通常情況下open_mode不應該被打開,它只適用于短時間內清理pki keys,若要打開它,可將值調整為True
1.open_mode:?False
auto_accept
默認值:False
開啟auto_accept。這個設置將會使master自動接受所有發送公鑰的minions
1.auto_accept:?False
autosign_file
默認值:/etc/salt/autosign.conf
如果autosign_file的值被指定,那么autosign_file將會通過該輸入允許所有的匹配項,首先會搜索字符串進行匹配,然后通過正則表達式進行匹配。這是不安全的
1.autosign_file:?/etc/salt/autosign.conf
client_acl
默認值:{}
開啟對系統上非root的系統用戶在master上執行特殊的模塊,這些模塊名可以使用正則表達式進行表示
1.client_acl:
2.fred:
3.-test.ping
4.-?pkg.*
client_acl_blacklist
默認值:{}
黑名單用戶或模塊
這個例子表示所有非sudo用戶以及root都無法通過cmd這個模塊執行命令,默認情況改配置是完全禁用的
1.client_acl_blacklist:
2.users:
3.-?root
4.-?'^(?!sudo_).*$'#?all?non?sudo?users
5.modules:
6.-?cmd
external_auth
默認值:{}
salt的認證模塊采用外部的認證系統用來做認證和驗證用戶在salt系統中的訪問區域
1.external_auth:
2.pam:
3.fred:
4.-test.*
token_expire
默認:43200
新令牌生成的時間間隔,單位秒,默認是12小時
1.token_expire:?43200
file_recv
默認值:False
允許minions推送文件到master上,這個選項默認是禁用的,出于安全考慮
1.file_recv:?False
#######################
master模塊管理
runner_dirs
默認值:[] 設置搜索runner模塊的額外路徑
1.runner_dirs:?[]
cython_enable
默認值:False
設置為true來開啟對cython模塊的編譯
1.cython_enable:?False
master狀態系統設置
state_verbose
默認:False
state_verbose允許從minions返回更多詳細的信息,通常清空下只返回失敗或者已經更改,但是將state_verbose設置為True,將會返回所有的狀態檢查
1.state_verbose:?True
state_output
默認值:full
state_output的設置將會改變信息輸出的格式,當被設置為”full”時,將全部的輸出一行一行的顯示輸出;當被設置為”terse“時,將會被縮短為一行進行輸出;當被設置為”mixed”時,輸出樣式將會是簡潔的,除非狀態失敗,這種情況下將會全部輸出;當被設置為”change”時,輸出將會完全輸出除非狀態沒有改變
1.state_output:?full
state_top
默認值:top.sls
狀態系統使用一個入口文件告訴minions在什么環境下使用什么模塊,這個狀態入口文件被定義在基礎環境的相對根路徑下
1.state_top:top.sls
external_nodes
默認值:None
這個外部節點參數允許salt來收集一些數據,通常被放置在一個入口文件或外部節點控制器.外部節點的選擇是可執行的,將會返回ENC數據,記住如果兩者都啟用的話salt會將外部節點和入口文件的結果進行綜合匯總。
1.external_nodes:?cobbler-ext-nodes
renderer
默認值:yaml_jinja
使用渲染器用來渲染minions的狀態數據
1.renderer:?yaml_jinja
failhard
默認值:False
設置一個全局的failhard表示,當單個的狀態執行失敗后,將會通知所有的狀態停止運行狀態
1.failhard:?False
test
默認值:False
如果真的要作出改變或者僅僅通知將要執行什么改變時設置所有的狀態調用為test
test: False
#######################
master文件服務器設置
fileserver_backend
默認值:
1.fileserver_backend:
2.-?roots
salt支持模塊化的后端文件系統服務器,它允許salt通過第三方的系統來管理收集文件并提供給minions使用,可以配置多個后端文件系統,這里支持gitfs、hgfs、roots、s3fs文件調用的搜索順序按照后臺文件系統的配置順序來搜索,默認的設置只開啟了標準的后端服務器roots,具體的根選項配置通過file_roots參數設置
1.fileserver_backend:
2.-?roots
3.-?gitfs
file_roots
默認值:
1.base:
2.-?/srv/salt
salt運行一個輕量級的文件服務器通過ZeroMQ對minions進行文件傳輸,因此這個文件服務器是構造在master的守護進程中,并且不需要依賴于專用的端口
文件服務器的工作環境傳遞給master,每一個環境可以有多個跟目錄,但是相同環境下多個文件的子目錄不能相同,否則下載的文件將不能被可靠的保證,一個基礎環境依賴于主的入口文件,如:
01.file_roots:
02.base:
03.-?/srv/salt
04.dev:
05.-?/srv/salt/dev/services
06.-?/srv/salt/dev/states
07.prod:
08.-?/srv/salt/prod/services
09.-?/srv/salt/prod/states
hash_type
默認值:md5
hash_type是用來當發現在master上需要對一個文件進行hash時的hash使用的算法,默認是md5.但是它也支持sha1,sha224,shar256,shar384,shar512
1.hash_type:?md5
file_buffer_size
默認值:1048576
文件服務器的緩存區大小
1.file_buffer_size:?1048576
pillar配置
pillar_roots
默認值:
1.base:
2.-?/srv/pillar
設置不同的環境對應的存放pillar數據的目錄,這個配置和file_roots參數配置一樣
1.pillar_roots:
2.base:
3.-?/srv/pillar
4.dev:
5.-?/srv/pillar/dev
6.prod:
7.-?/srv/pillar/prod
ext_pillar
當進行pillar數據收集時,這個ext_pillar參數允許調用任意數量的外部pillar接口,這個配置是基于ext_pillar函數,你可以從這個找到這個函數https://github.com/saltstack/salt/blob/develop/salt/pillar
默認情況下,這個ext_pillar接口沒有配置運行
默認值:None
1.ext_pillar:
2.-?hiera:?/etc/hiera.yaml
3.-?cmd_yaml:cat?/etc/salt/yaml
4.-?reclass:
5.inventory_base_uri:?/etc/reclass
從這里可以查到pillar的一些額外細節
syndic server配置
syncdic是salt master用來通過從整體架構中高于自己層級的master或者syndic接收命令傳遞給minions的中間角色。使用syndic非常簡單,如果這個master在整體架構中,他的下級存在syndic server,那么需要將master的配置文件中的”order_master”值設置為True,如果這個master還需要運行一個syndic進程,扮演另外一個角色,那么需要設置主master server的信息(上一級master)
千萬別忘記了,這將意味著它將與其他master共享它的minion的id和pki_dir
order_masters
默認值:False
當額外的數據需要發送和傳遞,并且這個master控制的minions是被低等級的master或syndic直接管理下,那么”order_masters”這個值必須得設置為True
1.order_master:?False
syndic_master
默認值:None
如果這個master運行的salt-syndic連接到了一個更高層級的master,那么這個參數需要配置成連接到的這個高層級的master的地址
1.syndic_master:?masterofmasters
syndic_master_port
默認值:4506
如果這個master運行的salt-syndic連接到了一個更高層級的master,那么這個參數需要配置成連接到的這個高層級master的監聽端口
1.syndic_master_port:?4506
syndic_log_file
默認值:syndic.log
為syndic進程指定日志文件
1.syndic_log_file:?salt-syndic.log
總結
以上是生活随笔為你收集整理的服务器配置文件salt,saltstack 配置文件详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炒老板泡椒三绝加盟费多少?
- 下一篇: 水星mw310r虚拟服务器,水星MW31