##### 主要配置設置 ##### 配置 默認值 說明 例子 default_include minion.d/*.conf master能夠從其餘文件讀取配置,默認狀況下master將自動的將master.d/*.conf中的配置讀取出來並應用,其中master.d目錄是相對存在於主配置文件所在的目錄 default_include: minion.d/*.conf master salt master服務器的ID master : salt ipv6 False minion是否應該經過IPV6鏈接master ipv6 : False 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 backup_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_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 [] returner_dirs: [] states_dirs [] states_dirs: [] render_dirs [] 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 renderer: 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_top 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 控制檯(console)日誌默認輸出等級: 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical' log_level: 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}