SaltStack學習系列之state常用模組

2022-07-23 06:30:26 字數 2842 閱讀 6815

常用模組:cron,cmd,file,mount,ntp,pkg,service,user,group

cmd模組

引數:name:要執行的命令

unless:用於檢查的命令,只有unless指向的命令返回false時才執行name那行的命令

cwd:執行命令時的目錄,預設為root

user:以指定使用者身份執行命令

group:以指定使用者組身份執行命令

run:執行name後的命令

require:確保某個模組執行之後才執行這個模組

例項

[root@test81 ~]#

cat install.sls

nginx_source: ##自定義命名

file.managed:

- name: /tmp/nginx-1.4.5.tar.gz #這個是指minion端

- unless: test -f /tmp/nginx-1.4.5.tar.gz #

#若minion端不存在/tmp/nginx-1.4.5.tar.gz這個檔案,才會執行這個file模組

- source: salt://nginx/files/nginx-1.4.5.tar.gz ##這個是指master端檔案存放的位置,意思是把master端salt://nginx/files/nginx-1.4.5.tar.gz檔案copy到minion端/tmp/nginx-1.4.5.tar.gz

tar_nginx: ##自定義命名

cmd.run:

- cwd: /usr/local/src #

#當前工作目錄

- name: tar zxvf nginx-1.4.5.tar.gz

- unless: test -d /usr/local/src/nginx-1.4.5 #

#若minion端不存在/usr/local/src/nginx-1.4.5 這個目錄,才會執行name後命令

-require: ##確保nginx_source裡的file模組執行成功才執行這個cmd模組

- file: nginx_source

pkg模組

引數:installed:安裝

latest:將軟體更新到最新

removed:刪除軟體

pkgs:安裝多個軟體包時,一次全部安裝(推薦)

names:安裝多個軟體包時,一次安裝乙個(不推薦)

例項

mypkgs:

pkg.installed:

- pkgs: #

安裝多個軟體包,用pkgs函式一次全部安裝,一行乙個

-gcc

-cmake

-make

#- name: httpd #安裝多個軟體包,一次安裝乙個,與pkgs一起用時,此函式將被忽略

user模組

present:建立使用者

absent:刪除使用者

fullname:使用者名稱

password:密碼

uid:

gid:

createhome:true為建立家目錄,false不建立家目錄

home:使用者家目錄

hwg:  

user.present:

-fullname: jim

- shell: /bin/bash

- home: /home/hwg

- uid: 600

- gid: 600

-groups:

-wheel

-storage

- games

file.managed

引數:user:使用者

group:使用者組

mode:檔案屬性(如644)

template:模板型別(比如:jinja)

makedirs:預設為false,如果被管理的檔案父目錄不存在則失敗,如果為true,如果父目錄不存在則會建立

dir_mode:設定建立目錄的許可權

replace:預設為true,若設定為false將不替換檔案內容,但是會更改許可權

context:覆蓋檔案上下文引數

default:預設上下文引數

backup:備份功能,有改動才備份,會備份到minion下的:/var/cache/salt/minion/backup_files

show_off:設定成false,則不顯示更改的不同點,預設為true

create:預設為true,如果設定為false,在檔案存在的情況下則只更改檔案

contents:預設為空,新增字串到文字中

例項:

nginx_source:  

file.managed:

- name: /tmp/nginx-1.5.1.tar.gz

- unless: test -e /tmp/nginx-1.5.1.tar.gz

-user: root

-group: root

-makedirs: true

- source: salt://nginx/file/nginx-1.5.1.tar.gz

saltstack 模組學習之 state

入口檔案top.sls 三要素 環境 通過file roots指定 目標主機 可以使用萬用字元 配置檔案路徑 路徑分割符為.比如a.mysql 表示在環境指定的路徑下有個a目錄,a目錄下有個mysql.sls檔案 每個相同要素下的元素為並列關係,使用列表 source salt hello etc ...

saltstack之virt模組建立虛擬機器分析之二

那今天說下第2種,命令執行格式如下 salt kvm.tiancity.com virt.init web20 4 512 nic nics disk system 在這裡,我們需要注意下對與kvm qemu不允許使用profile,我們需要將virt.py改下 這樣,就允許我的試驗環境了。我的想法...

saltstack之virt模組建立虛擬機器分析之二

那今天說下第2種,命令執行格式如下 salt kvm.tiancity.com virt.init web20 4 512 nic nics disk system 在這裡,我們需要注意下對與kvm qemu不允許使用profile,我們需要將virt.py改下 這樣,就允許我的試驗環境了。我的想法...