女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SaltStack自動化運維入門指南

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-04-18 10:25 ? 次閱讀

Saltstack自動化運維入門

一、saltstack簡介

1.簡單介紹

saltstack 是基于C/S架構的服務模式,服務器端叫做Master,客戶端叫作Minion,并且有消息隊列中的發布與訂閱(pub/sub)服務模式,minion與master之間通過 ZeroMQ 消息隊列通信。Master和Minion端都以守護進程的模式運行,一直監聽配置文件里面定義的ret_port也就是4506端口(接收minion請求)和publish_port也就是4505端口(ZMQ的發布消息)。當minion運行時會自動連接到配置文件里面定義的Master地址ret_port端口進行連接認證。采用RSA Key方式確認身份,傳輸采用AES加密,使傳輸的安全性得到保障。

Saltstack運行模式 :

? Local

? Master/Minion

? Salt SSH

Saltstack三大功能:

? 遠程執行(執行遠程命令)

? 配置管理(狀態管理)

? 云管理

2.通信模式

Salt使用發布 - 訂閱模式與受管系統進行通信。 連接由Salt minion發起,這意味著你不需要在這些系統上打開任何傳入端口(從而減少攻擊向量)。 Salt master使用端口4505和4506,必須打開端口才能接收訪問連接。

7409ef28-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述
Publisher (端口4505)所有Salt minions都需要建立一個持續連接到他們收聽消息的發布者端口。 命令是通過此端口異步發送給所有連接,這使命令可以在大量系統上同時執行。

Request Server (端口4506)Salt minions根據需要連接到請求服務器,將結果發送給Salt master,并安全地獲取請求的文件或與特定minion相關的數據值(稱為Salt pillar)。 連接到這個端口的連接在Salt master和Salt minion之間是1:1(不是異步)。

3.salt minion認證

當minion第一次啟動時,它會在網絡中搜索一個名為salt的系統(盡管這可以很容易地更改為IP或不同的主機名)。 當發現時,minion發起握手,然后將公鑰發送給Salt master。
在初始連接之后,Salt minions的公鑰存儲在服務器上,并且必須使用salt-key命令(或通過某種自動機制)在Salt master上接受。 這可能是讓新用戶混淆的原因,因為Salt不會提供解密消息所需的安全密鑰,直到Salt minions的公鑰被接受(這意味著Salt minions在被接受其密鑰之前不會運行任何命令)。
在minion密鑰被salt master接受后,Salt主機 minion會返回其公鑰以及旋轉的AES密鑰,該密鑰用于加密和解密由Salt master發送的消息。 返回的AES密鑰使用Salt minion最初發送的公鑰進行加密,因此只能由該Salt minion解密。

二、saltstack安裝

1.下載yum源
wget -P /etc/yum.repos.d https://mirrors.aliyun.com/saltstack/yum/redhat/7.6/x86_64/saltstack-rhel7.repo

2.在master端安裝
yum -y install salt-master

3.在minion端安裝
yum -y install salt-minion

三、saltstack的配置

注意冒號后面要有空格
#hostnamectl set-hostname salt01.tianyun.com
#vim /etc/hosts

初始化配置
配置對應的文件路徑

master端

在/etc/salt/master下添加修改
master:10.0.100.132
user: root
interface:0.0.0.0
file_roots:
 base:
  - /srv/salt
pillar_roots:
 base:
  - /srv/pillar

啟動
systemctl start salt-master





minion端

在/etc/salt/minion下添加
#這里要指向salt-master服務器,可以是IP,也可以是域名,也可以是主機名,如果用的是內部DNS服務器的話可以用主機名或者域名的形式。
master:10.0.100.132
user: root
id: agent1
 
啟動
service salt-minion start





查看所有的密鑰

[root@master]# sudo salt-key --list-all # salt-key -L
Accepted Keys:
agent1
Denied Keys:
Unaccepted Keys:
Rejected Keys:





接受一個指定密鑰

salt-key --accept=
salt-key -a=





接受所有密鑰

salt-key --accept-all
salt-key -A -y





刪除一個指定密鑰

salt-key -d xxx





刪除所有密鑰

salt-key -D





測試常用
遠程執行入門

[root@master]# salt '*' test.ping
agent1:
 True

# salt 'agent1' test.ping
# salt 'agent1' cmd.run 'df -h'
# salt -L 'agent2,agent3' cmd.run 'uptime' -L跟多個主機
# salt -S '192.168.122.0/24' cmd.run 'uptime'

注:
master 秘鑰對默認存儲在/etc/salt/pki/master/master.pub /etc/salt/pki/master/master.pem
master 端認證的公鑰存儲在:/etc/salt/pki/master/minions/
minion 秘鑰對默認存儲在/etc/salt/pki/minion/minion.pub /etc/salt/pki/minion/minion.pem
minion 存放的master公鑰/etc/salt/pki/minion/minion_master.pub
minion_id 默認存儲在/etc/salt/minion_id#?





7417d246-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

salt命令詳解

salt "*" sys.list_modules  # 查看所有模塊

# salt -h
Usage: salt [options] ''[arguments]

Options(選項):
   --version : 查看saltstack軟件的版本號。
   --versions-report : 查看saltstack軟件以及依賴包的版本號。
   -h, --help : 查看幫助信息。
   --saltfile=SALTFILE:指定saltfile的路徑。 如果沒有通過,將在當前工作目錄中搜索一個。
   -c CONFIG_DIR, --config-dir=CONFIG_DIR:指定配置文件的目錄(默認是/etc/salt/)。
   -t TIMEOUT, --timeout=TIMEOUT:指定超時時間默認是5秒。
   --hard-crash:捕捉到original異常不退出默認關閉。
   -s, --static:以組的形式返回所有minion的數據。
   -p, --progress:顯示進度圖,需要progressbar的python包。
   --failhard :在第一個執行錯誤返回之后停止批處理。
   --async : 異步執行。
   --subset=SUBSET : 對目標minions的隨機子集執行程序. minions在執行前會先驗證是否存在該命名的函數,再去執行
   -v, --verbose : 打開命令詳細,顯示jid和活動的工作查詢
   --hide-timeout : 隱藏超時時間。
   --show-jid : 顯示任務的jid。
   -b BATCH, --batch=BATCH, --batch-size=BATC : 按照百分比執行任務。
   -a EAUTH, --auth=EAUTH, --eauth=EAUTH, --external-auth=EAUTH : 指定外部認證方式。
   -T, --make-token : 生成master token.
   --return=RETURNER : 設置一種替代方法。 默認情況下,salt將從命令將返回數據發送回主服務器,但返回數據可以重定向到任意數量的系統,數據庫或應用程序。
   --return_config=RETURNER_CONF : 指定命令返回的設置文件。
   -d, --doc, --documentation : 查看指定模式或所有模塊文檔。
   --args-separator=ARGS_SEPARATOR :  指定發送命令跟命令參數的分隔符,當用戶想把一個命令當作參數發送給另一個命令執行時。
   --summary : 顯示匯總信息。
   --username=USERNAME : 指定外部認證的用戶名。
   --password=PASSWORD : 指定外部認證的密碼。
   --metadata=METADATA : 將元數據傳遞給Salt,用于搜索作業。
  
  
Logging Options(日志相關參數):
   -l LOG_LEVEL, --log-level=LOG_LEVEL : 指定日志級別。
   --log-file=LOG_FILE : 指定日志記錄文件
   --log-file-level=LOG_LEVEL_LOGFILE : 日志文件日志記錄級別。'all', 'garbage', 'trace', 'debug', 'info', 'warning', 'error','critical', 'quiet'. 默認: 'warning'.


Target Options(目標選擇選項):
*   -E, --pcre : 正則匹配
*   -L, --list: 列表匹配,目標表達式將被解釋為以逗號分隔的列表。
*   -G, --grain: grains匹配。
   --grain-pcre :grains加正則匹配。
   -N, --nodegroup:組匹配。
   -R, --range:范圍匹配。
   -C, --compound : 綜合匹配(指定多個匹配,空格隔開)。
*   -I, --pillar : pillar值匹配。
   -J, --pillar-pcre : pillar加正則匹配。
   -S, --ipcidr : minions網段地址匹配。


Output Options(輸出參數):
   --out=OUTPUT, --output=OUTPUT : 使用指定的輸出器從'salt'命令打印輸出。 內置的是 'key', 'yaml', 'overstatestage', 'newline_values_only', 'pprint', 'txt', 'raw', 'virt_query', 'compact', 'json', 'highstate', 'nested', 'quiet', 'no_return'.

   --out-indent=OUTPUT_INDENT, --output-indent=OUTPUT_INDENT :  在空格中打印由提供的值縮進的輸出。 負值禁用縮進。 僅適用于支持縮進的輸出器。

   --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE : 輸出到指定文件。

   --out-file-append, --output-file-append : 輸出附加到指定的文件。

   --no-color, --no-colour : 關閉所有的顏色顯示。

   --force-color, --force-colour : 強制輸出顏色顯示。

   --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT : 覆蓋配置的state_output值輸出,指定state格式(full, terse, mixed, changes or filter)輸出,默認值是full。


salt-key命令詳解
# salt-key -h

Actions:
  -l ARG, --list=ARG:顯示指定狀態的key(支持正則表達式)
  -L, --list-all :列出所有公鑰。"--list all"已經棄用。
  -a ACCEPT, --accept=ACCEPT: 接受指定的公鑰(除了掛起的密鑰之外,使用--include-all匹配拒絕的密鑰),支持正則表達式。
  -A, --accept-all :接收所有等待認證的key。
  -r REJECT, --reject=REJECT :拒絕指定等待認證的key(支持正則表達式)
  -R, --reject-all:拒絕所有等待認證的key。
  --include-all: 顯示所有狀態的key。
  -p PRINT, --print=PRINT :打印指定的公鑰支持正則表達式。
  -P, --print-all:打印所有的公鑰。
  -d DELETE, --delete=DELET:刪除指定的key。
  -D, --delete-all:刪除所有的key。
  -F, --finger-all:顯示所有key的指紋信息。









查找模塊
salt'*'-d|grep":"|grep disk

查找某個模塊擁有的方法
salt'agent1'sys.list_functions test





四、配置管理入門實踐

master端和minion端配置好后 ,

文件管理

[root@master ~]# mkdir /srv/{salt,pillar}
[root@master ~]# cd /srv/salt
[root@master salt]# vim host_file.sls
/etc/hosts:
 file.managed:
  - source: salt://files/hosts
  - user: root
  - group: root
  - mode:644
[root@master salt]# mkdir files
[root@master salt]# cd files/
[root@master files]# cp /etc/hosts .
[root@master files]# pwd
/srv/salt/files
[root@master files]# cd ..
[root@master salt]# pwd
/srv/salt
[root@master salt]# ls
files host_file.sls
[root@master salt]# salt '*' state.sls host_file
agent1:
----------
     ID: /etc/hosts
  Function: file.managed
   Result:True
  Comment: File /etc/hostsisinthe correct state
  Started:18:15:50.497755
  Duration:68.637ms
  Changes: 

Summaryforagent1
------------
Succeeded:1
Failed:  0
------------
Total states run:  1
Total run time: 68.637ms
 
 
用name的方式
[root@master salt]# vim host_file.sls
file_test:
 file.managed:
  - name: /etc/hosts
  - source: salt://test/123.txt
  - user: root
  - group: root
  - mode:644









7433c47e-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

拷貝文件

# salt-cp '*' /etc/hosts /root





安裝nginx

pkg是模塊,installed是方法,-names是參數。 相當于 yum install nginx。 require是依賴關系

[root@master salt]# pwd
/srv/salt
[root@master salt]# vim nginx_install.sls
nginx-install:
 pkg.installed:
  - names:
   - nginx

/etc/hosts:
 file.managed:
  - source: salt://files/hosts
  - user: root
  - group: root
  - mode:644
  - require:
   - pkg: nginx-install
 service.running:
  - names:
   - nginx
[root@master salt]# salt '*' state.sls nginx_install









7446b70a-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

安裝apache

[root@master salt]# vim apache.sls
apache-service:
 pkg.installed:
  - names:
   - httpd
   - mod_ssl
 service.running:
  - name: httpd
  - enable:True
[root@master salt]# vim top.sls
base:
'*':
  - apache
[root@master salt]# salt '*' state.highstate
salt'*'state.highstate test=True表示狀態的同步,test=True表示測試成功與否
apache沒安裝就安裝,安裝過的就不用









計劃任務

minute hour daymonth month dayweek
[root@master ~]# cd /srv/salt/
[root@master salt]# vim crontab.sls
/usr/sbin/ntpdate time.aliyun.com >> /dev/null:
 cron.present:
  - user: root
  - minute:'*/5'
[root@master salt]# salt '*' cron.list_tab root

客戶機查看
[root@localhost ~]# crontab -l
# Lines below here are managed by Salt, do not edit
# SALT_CRON_IDENTIFIER:/usr/sbin/ntpdate time.aliyun.com >> /dev/null
*/5* * * * /usr/sbin/ntpdate time.aliyun.com >> /dev/null





745ff544-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

7473f1de-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

5分鐘修改為3分鐘,然后再執行一遍
[root@master salt]# vim crontab.sls
/usr/sbin/ntpdate time.aliyun.com >> /dev/null:
 cron.present:
  - user: root
  - minute:'*/3'
[root@master salt]# salt '*' state.sls crontab


刪除cron
[root@master salt]# vim del_cron.sls
/usr/sbin/ntpdate times.aliyun.com >> /dev/null:
 cron.absent:
  - name: /usr/sbin/ntpdate times.aliyun.com >> /dev/null
[root@master salt]# salt '*' state.sls del_cron





saltstack的state.sls和state.highstate之區別

state.sls默認的運行環境是base環境,但是它并不讀取top.sls(top.sls定義了運行環境以及需要運行的sls)。關于state.sls的官方文檔說明如下:

salt.modules.state.sls(mods, saltenv='base', test=None, exclude=None, queue=False, env=None,**kwargs)





這里saltenv指的是運行環境,默認是base環境。

state.highstate: 這個是全局的所有環境,以及所有狀態都生效。它會讀取每一個環境的top.sls,并且對所有sls都生效。

五、正則匹配主機

https://www.cnblogs.com/wangyajian/p/11572572.html

Grains:https://www.cnblogs.com/wangyajian/p/11586990.html
pliiar:https://www.cnblogs.com/wangyajian/p/11586998.html
state模塊:https://www.cnblogs.com/wangyajian/p/11633678.html
state安裝nginx:https://www.cnblogs.com/wangyajian/p/11633828.html
highstate:https://www.cnblogs.com/wangyajian/p/11663089.html
salt-key:https://www.cnblogs.com/hanson666/articles/7105197.html





六、數據系統Grains(客戶端)

Minion收集信息,Master用于并匹配Target Minion端設置,提供給Master端

==========客戶端自身收集的身份信息==========
Grains里面收集了minion啟動時候的所有系統信息,存儲在minion端。

[root@master ~]# salt '*' grains.ls 列出所有item
[root@master ~]# salt '*' grains.items 獲取所有item值
[root@master ~]# salt '*' grains.item os_family
[root@master ~]# salt '*' grains.item osrelease
[root@master ~]# salt -G 'osrelease:7.8.2003' test.ping
[root@master ~]# salt '*' grains.item ipv4
[root@master ~]# salt '*' grains.item ip4_interfaces





748d51ce-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

自定義Grains
方法一:vim /etc/salt/minion

服務器機柜位置
[root@agent ~]# vim /etc/salt/minion
grains:
 roles:
  - webserver
  - dbserver
 deployment: datacenter1
 cabinet:13
 cab_u:14-15
roles是key,value有webserver和dbserver,數據中心一
[root@agent ~]# systemctl restart salt-minion





749aedb6-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

七、數據系統Pillar(服務端)

Master端設置,提供給Minion端

Pillar在SaltStack中主要作用是存儲和定義配置管理中需要的一些數據,比如軟件版本號、用戶名密碼等信息,它的存儲格式跟Grains類似,都是YAML格式。

[root@master ~]# vim /etc/salt/master
pillar_roots:
 base:
  - /srv/pillar
[root@master ~]# mkdir /srv/pillar
[root@master pillar]# vim env_salt01.sls
roles:
 - webserver
 - dbserver
deployment: datacenter1
cabinet:13
cab_u:14-15
[root@master pillar]# vim top.sls
base:
'*':
  - env_salt01
[root@master pillar]# salt '*' saltutil.refresh_pillar
[root@master pillar]# salt -I 'roles:webserver' cmd.run 'uptime'
[root@master pillar]# salt --pillar 'roles:webserver' cmd.run 'uptime'









74b196ce-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

八、遠程執行Targeting

和Minion_ID相關:

? Globbing(通配符)

? Regex(正則表達式)

? List(列表)

和Minion_ID無關:

? Subnet/IP

? Grains

? Pillar

? Compound matchers(復合匹配)

? Node groups(節點組)

# salt 'salt01.tianyun.com' test.ping
# salt 'salt01*' test.ping
正則:
*表0到多次
?表0到1次
[]表任意一個字符
[!]

# salt -L 'salt01,salt02' cmd.run 'uptime' 列表-L跟多個主機
不支持的寫法:# salt -L 'salt01.tianyun.com,salt03*' test.ping
# salt -E 'salt0[^14].tianyun.com' test.ping 正則表示非01 04
# salt -S '10.0.100.0/24' test.ping 子網
# salt -G 'os:Centos' cmd.run 'uptime' 系統自帶Grains
# salt -I 'Zabbix_Server' test.ping Pillar

Minion端修改ID:vim /etc/salt/minion_id









SLS文件中使用正則,注意matchpcre:
# cat /srv/salt/top.sls
base:
'saltstack0[^23].tianyun.com':
  -match: pcre
  - apache

SLS文件中使用Grains
base:
'os:CentOS':
  -match: grain
  - apache





復合匹配

復合匹配
# salt -C ‘I@or/and'
# salt -C 'I@roles:dbserver and I@delpoyment:datacenter1 and G@os:Centos and [email protected]/24 or E@salt0[13].tianyun.com' cmd.run 'uptime'

[root@master ~]# vim /etc/salt/master
nodegroups:
 webs:'I@roles:dbserver and I@delpoyment:datacenter1 and G@os:Centos and [email protected]/24 or E@salt0[13].tianyun.com'
[root@master ~]# salt -N 'webs' test.ping





九、配置管理States

States是SaltStack系統中的配置語言,在日常運維中需要編寫大量的States文件,例如需要創建一個用戶、安裝一個軟件包、之后管理相應的配置文件,最后確保服務能正常運行。
則需要編寫一些States SLS文件,即狀態配置文件去描述和實現相應的功能。States SLS主使用YAML語言,也可以支持使用Python語言編寫。

[root@master ~]# vim /etc/salt/master
file_roots:
 base:
  - /srv/salt/
 dev:
  - /srv/salt/dev/services
  - /srv/salt/dev/states
 test:
  - /srv/salt/test
 prod:
  - /srv/salt/prod/services
  - /srv/salt/prod/states
[root@master ~]# systemctl restart salt-master
[root@master ~]# cd /srv/salt/
[root@master salt]# pwd
/etc/salt
[root@master salt]# mkdir dev test prod
base基礎環境,所有機器都需要的配置
yum、dns、kernel參數、zabbix agent


[root@master salt]# mkdir -p init/files
[root@master salt]# vim init/files/resolv.conf
nameserver8.8.8.8
nameserver114.114.114.114
[root@master salt]# cd init/
[root@master init]# pwd
/srv/salt/init
[root@master init]# ls
files


[root@master init]# vim dns.sls
/etc/resolv.conf:
 file.managed:
  - source: salt://init/files/resolv.conf
/etc/resolv.conf 是minion目標文件.如果下面配了name就不一樣
source: salt:// 表示salt的base環境
   
[root@master init]# salt '*' state.sls init.dns env=base 
注意這里是init.dns,直接放在/srv/salt/xx.sls 這樣就不用加init。現在是放在了/srv/salt/init/xx.sls
默認也是env=base









74c492b0-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

針對所有主機:

[root@master salt]# pwd
/srv/salt
[root@master salt]# vim top.sls
base:
'*':
  - init.dns
[root@master salt]# salt '*' state.highstate # 基于top.sls





74db4190-1aa4-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

十、配置管理LAMP部署env=dev

1.準備模板文件

yum -y install httpd php php-mysql php-gd gd mariadb-server
cp -rf /etc/httpd/conf/httpd.conf /srv/salt/dev/files/
cp -rf /etc/my.cnf /srv/salt/dev/files/

[root@master ~]# vim /etc/salt/master
file_roots:
 base:
  - /srv/salt/
 dev:
  - /srv/salt/dev/
[root@master dev]# systemctl restart salt-master

[root@master salt]# cd dev/
[root@master dev]# ls
[root@master dev]# mkdir files
[root@master dev]# pwd
/srv/salt/dev
[root@master dev]# cp -rf /etc/httpd/conf/httpd.conf /srv/salt/dev/files/
[root@master dev]# cp -rf /etc/my.cnf /srv/salt/dev/files/
[root@master dev]# vim lamp.sls
lamp-pkg-install:
 pkg.installed:
  - names:
   - httpd
   - php
   - php-mysql
   - php-gd
   - gd
   - mariadb-server

httpd-files:
 file.managed:
  - name: /etc/httpd/conf/httpd.conf
  - source: salt://files/httpd.conf

httpd-service:
 service.running:
  - name: httpd
  - enable:True

mysql-files:
 file.managed:
  - name: /etc/my.cnf
  - source: salt://files/my.cnf

mysql-service:
 service.running:
  - name: mariadb
  - enable:True
[root@master ~]# salt '*' state.sls lamp saltenv=dev


[root@master ~]# vim /srv/salt/top.sls
base:
'*':
  - init.dns

dev:
'*':
  - lamp
[root@master ~]# salt '*' state.highstate

若想狀態觸發,自動重啟,需要用到require









十一、配置管理狀態關系

unless

? 主要用于cmd狀態模塊,僅當unless選項指向的命令

? 返回false時才執行name指向的命令,test -d /usr/local/nginx

re

?require 我依賴某個狀態 我依賴誰

? require_in 我被某個狀態依賴 誰依賴我

wa

?watch 我關注某個狀態【監控】當狀態發生改變,例如我關注的狀態發生改變,restart

? watch_in 我被某個狀態關注

require

require:
 模塊名:ID





[root@master dev]# cat /srv/salt/dev/lamp.sls
dep-install:
 pkg.installed:
  - names:
   - php

httpd-install:
 pkg.installed:
  - name: httpd
  - require:
   - pkg: dep-install
 
 
httpd-files:
 file.managed:
  - name: /etc/httpd/conf/httpd.conf
  - source: salt://files/httpd.conf
  - require:
   - pkg: httpd-install

httpd-service:
 service.running:
  - name: httpd
  - enable:True
  - require:
   - file: httpd-files
   
mysql-files:
 file.managed:
  - name: /etc/my.cnf
  - source: salt://files/my.cnf









watch

[root@master dev]# cat /srv/salt/dev/lamp.sls
dep-install:
 pkg.installed:
  - names:
   - php

httpd-install:
 pkg.installed:
  - name: httpd
  - require:
   - pkg: dep-install
 
 
httpd-files:
 file.managed:
  - name: /etc/httpd/conf/httpd.conf
  - source: salt://files/httpd.conf
  - require:
   - pkg: httpd-install

httpd-service:
 service.running:
  - name: httpd
  - enable:True
  - require:
   - file: httpd-files
  - reload:True# 可選,如果PID不變,選擇reload。默認沒這個的話,只有watch就是restart
  - watch:
   - file: httpd-files 只要httpd-files發生變化就變化,改端口,啟動變化也會改
   
mysql-files:
 file.managed:
  - name: /etc/my.cnf
  - source: salt://files/my.cnf
     
[root@master dev]# salt '*' state.sls lamp saltenv=dev









關系,watch_in 與 require_in
watch,reload都寫在服務那
watch_in,如果是寫在文件那。 則在服務寫reload

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 自動化
    +關注

    關注

    29

    文章

    5742

    瀏覽量

    81622
  • 端口
    +關注

    關注

    4

    文章

    1045

    瀏覽量

    32715
  • 命令
    +關注

    關注

    5

    文章

    728

    瀏覽量

    22673

原文標題:比Ansible更高效?SaltStack自動化運維快速入門指南

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    誠聘高級自動化工程師

    獵頭職位:高級自動化工程師【合肥】工作職責: 1、根據基礎架構管理需求,規劃設計
    發表于 12-12 10:37

    銳捷助互聯網數據中心網絡自動化、可視

    吉朋表示,集中在網絡虛擬,以及自動化、可視上。當前,互聯網業務快速發展,服務器數量激增,要求基礎網絡快速交付,支撐業務快速上線,同時
    發表于 01-25 09:42

    ansible-first-book 自動化工具

    ansible-first-book 自動化工具
    發表于 09-08 09:31 ?5次下載

    配電自動化實用指標研究

    根據《配電自動化實用化驗收細則》中對配電自動化考核要求,重點圍繞終端在線率、遙信動作正確率、遙控使用率與遙控成功率四項指標進行考核。目前對配電
    發表于 03-05 14:55 ?0次下載

    什么是標準和流程呢?工作梳理

    其他崗位,工作直面生產環境,每一步操作與生產系統能否正常運行息息相關,稍有不慎就易產生生產事故。并且
    的頭像 發表于 05-01 17:31 ?1.8w次閱讀
    什么是<b class='flag-5'>運</b><b class='flag-5'>維</b>標準<b class='flag-5'>化</b>和流程<b class='flag-5'>化</b>呢?<b class='flag-5'>運</b><b class='flag-5'>維</b>工作梳理

    厲害了!山東電力自動化平臺正式投

    日前,國網山東省電力集團公司通過了山東信息通信技術監督裝備及支撐工具開發實施項目的驗收,代表著自動化平臺正式投
    發表于 04-30 11:18 ?4584次閱讀

    如何區分Puppet,Ansible,Saltstack的作用特點?

    目前主流的自動化工具有puppet、ansible、saltstack,實際上每一個工具都基本上能夠完成你的
    的頭像 發表于 08-05 09:00 ?5076次閱讀

    網絡自動化的全面普及勢必會減少網絡人工作業

    5G時代對于通信工程師而言,網絡自動化的全面普及勢必會減少網絡人工作業,淘汰大量傳統通信工程師;隨著SDN/NFV/容器編排等技術的
    的頭像 發表于 04-29 15:54 ?5729次閱讀
    網絡<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>的全面普及勢必會減少網絡<b class='flag-5'>運</b><b class='flag-5'>維</b>人工作業

    Ansible企業級自動化探索的詳細資料說明

    本文檔的主要內容詳細介紹的是Ansible企業級自動化探索的詳細資料說明主要內容包括了:場景一:自動化
    發表于 06-03 08:00 ?2次下載
    Ansible企業級<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>探索的詳細資料說明

    城域網自動化實現的關鍵點、難點和解決方案研究

      針對城域網自動化水平較低、人工成本高且無法擺脫重復勞動的現狀,本文探討了當前城域網自動化
    發表于 10-28 09:09 ?2848次閱讀
    城域網<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>實現的關鍵點、難點和解決方案研究

    城域網是什么,其生命周期和自動化應用有哪些特點

    Labs 摘? 要針對城域網自動化水平較低、人工成本高且無法擺脫重復勞動的現狀,本文探討了當前城域網
    的頭像 發表于 12-25 14:24 ?1337次閱讀

    使用Python腳本實現自動化任務

    許多運工程師會使用 Python 腳本來自動化任務。Python 是一種流行的編程語言,具有豐富的第三方庫和強大的自動化能力,適用于許
    的頭像 發表于 04-08 10:36 ?1938次閱讀

    網絡設備自動化工具—ansible入門筆記介紹

    Ansible是一款自動化工具,基于Python開發,集合了眾多運工具 (Puppet、CFengine、Chef、SaltStack
    的頭像 發表于 01-15 13:46 ?2626次閱讀
    網絡設備<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>工具—ansible<b class='flag-5'>入門</b>筆記介紹

    自動化智能維系統在高鐵牽引變電所的研究與應用

    自動化智能維系統在高鐵牽引變電所的研究與應用 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 摘要: 目前,高鐵牽引變電所綜合自動化系統
    的頭像 發表于 04-16 16:21 ?992次閱讀
    <b class='flag-5'>自動化</b>智能<b class='flag-5'>運</b>維系統在高鐵牽引變電所的研究與應用

    IT自動化工具Ansible基礎入門

    Ansible是幫助人員實現自動化的最重要的工具之一。
    的頭像 發表于 02-07 10:00 ?601次閱讀
    IT<b class='flag-5'>自動化</b>工具Ansible基礎<b class='flag-5'>入門</b>