配置管理也叫狀態管理
嚴格意思上講狀態是不可回滾的
參考官方文件
狀態模組
salt state sls描述檔案 yaml
apache-service: #id宣告
service.running: #state宣告 狀態宣告
- name: httpd #選項宣告
- enable: true
怎麼部署乙個lamp架構
1,安裝軟體包 pkg
2,修改配置檔案 file
3,啟動服務 service
pkg.installed 安裝
pkg.latest 最新版本
pkg.remove 移除
pkg.purge 同時刪除配置檔案
pkgs 同時安裝多個包
例如
php.packages:ps:乙個id宣告下面,狀態模組不能重複使用。(python字典裡面的key不能重複)pkg.installed:
- fromrepo: wheezy-php55
- pkgs:
- php5-fpm
- php5-cli
- php5-curl
mkdir /srv/salt/lamp
mkdir /srv/salt/lamp/files
拷貝配置檔案到這個目錄下
執行安裝
salt '10-8-86-172' state.sls lamp.lamp
ps:salt://表示當前環境的根目錄,即/srv/salt目錄
可以在minion端檢視debug檢視執行過程及錯誤
tail -f /var/log/salt/minion
狀態間關係
1,我依賴誰
依賴這個安裝包和這個配置檔案
2,我被誰依賴
和依賴是一樣的意思記住乙個就行
3,我監控誰
如果apache-config狀態發生變化則reload,如果reload不是true則是restart
4,我被誰監控
同理watch_in寫在apache-config ,也是兩個記住乙個即可
5,我引用誰
include:
- lamp.pkg
類似於配置檔案的包含,把不同的模組分開來好管理
6,我擴充套件誰
jinja2
參考**
兩種分隔符:和 }
三步走1,告訴file模組 ,你需要使用jinja
- template: jinja
2,要列出變數引數列表
- defaults:
port: 88
3,模板引用
修改配置檔案 listen }
修改lamp.sls
修改httpd.conf
再次執行
模板裡面支援 salt grains pillar進行賦值
使用pillar
先獲取到
修改httpd配置檔案
jinjia模板
修改lamp.sls
修改httpd配置檔案
ps:也可以寫在sls裡面的變數列表中
例如
saltstack配置管理
簡單配置 srv salt top.sls base ding ding.sls touch tmp foo cmd.run creates tmp foo結果 執行 當一切都準備好後,只需要 salt state.highstate 即可將sls應用到minion中。使用 salt state.h...
Saltstack配置管理
製作簡單初始化模組 在minion主機安裝軟體 1.定義master配置檔案file roots root localhost cat etc salt master file roots base etc salt states prod etc salt states prod 建立目錄 mkd...
Saltstack配置管理
製作簡單初始化模組 在minion主機安裝軟體 1.定義master配置檔案file roots root localhost cat etc salt master file roots base etc salt states prod etc salt states prod 建立目錄 mkd...