溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SaltStack (一)

發(fā)布時間:2020-07-24 05:41:04 來源:網(wǎng)絡(luò) 閱讀:932 作者:酥心糖 欄目:數(shù)據(jù)庫

SaltStack介紹

saltstack是一個開源的批量分發(fā)管理工具,具有非常強(qiáng)大的管理功能,能同時管理上萬臺服務(wù)器。由python語言編寫,并提供API.

saltstack有四種運(yùn)行方式:Local, Master/Minion, Salt SSH,Syndic

saltstack有三大功能:遠(yuǎn)程執(zhí)行,配置管理(狀態(tài)),云管理。

saltstack支持多種常見的操作系統(tǒng),包括Windows(只能做為minion)。

saltstack是依賴于ZeroMQ來實(shí)現(xiàn)的(訂閱發(fā)布模式),監(jiān)聽4505端口(發(fā)布系統(tǒng)端口)。所有的minion都會連接到master上的4505端口,而master上的4506端口用于接受minion返回的數(shù)據(jù)。由于使用的是TCP長連接,所以在master上對海量的服務(wù)器執(zhí)行命令時,會得到非常迅速的響應(yīng)。


SaltStack的安裝配置

http://repo.saltstack.com/#rhel 

SaltStack提供了非常豐富的安裝方式,可以在官方網(wǎng)站找到對應(yīng)的說明。

這里使用兩臺CS7的系統(tǒng),一臺作為master(node1),另一臺作為Minion(node2)。

安裝SaltStack倉庫:

yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm

在master端安裝服務(wù)端和客戶端:

yum install salt-master salt-minion -y

在minoin安裝客戶端:

yum install salt-minion -y

啟動master:

# systemctl  start salt-master

修改master和minion端的minion配置文件,為minion指定master,:

vim /etc/salt/minion
master: 172.16.10.60 #可以是主機(jī)名或IP
#id:     #id默認(rèn)可以不改,為主機(jī)名

# systemctl start salt-minion  #啟動minion服務(wù)

啟動成功后,會生成一個/etc/salt/minion_id的文件,記錄了minion的ID信息。

# cat /etc/salt/minion_id 
node2

在pki目錄下會生成一系列的密鑰:

[root@node1 salt]# tree pki
pki
├── master
│   ├── master.pem   #master私鑰
│   ├── master.pub   #master公鑰
│   ├── minions
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre   #未被管理的密鑰
│   │   ├── node1
│   │   └── node2
│   └── minions_rejected
└── minion
    ├── minion.pem
    └── minion.pub
[root@node2 salt]# tree pki
pki
├── master
└── minion
    ├── minion.pem
    └── minion.pub

通過MD5校驗(yàn)對比,可以發(fā)現(xiàn)master上收到的node2的密鑰和node2本地的密鑰相同:

# 完成分發(fā)后,路徑改變
[root@node1 ~]# md5sum  /etc/salt/pki/master/minions/node2
d9a0453d7d539dbcc36e1daea259aa10  /etc/salt/pki/master/minions/node2

[root@node2 ~]# md5sum /etc/salt/pki/minion/minion.pub 
d9a0453d7d539dbcc36e1daea259aa10  /etc/salt/pki/minion/minion.pub


在master上使用salt-key命令來查看添加minion主機(jī):

[root@node1 salt]# salt-key 
Accepted Keys:
Denied Keys:
Unaccepted Keys:
node1
node2
Rejected Keys:

加入指定的minion主機(jī):

# salt-key -a node1   #可以使用通配符如 node*添加所有以node開頭為開頭的主機(jī)
The following keys are going to be accepted:
Unaccepted Keys:
node1
Proceed? [n/Y] Y
Key for minion node1 accepted.

同意所有minion主機(jī):

# salt-key -A

對所有的主機(jī)執(zhí)行命令,測試主機(jī)是否在線:

[root@node1 ~]# salt '*' test.ping
node2:
    True
node1:
    True

對所有主機(jī)運(yùn)行一個命令,出現(xiàn)下面結(jié)果說明可以進(jìn)行遠(yuǎn)程管理了:

[root@node1 ~]# salt '*' cmd.run 'date'
node1:
    Fri Nov  4 14:21:37 CST 2016
node2:
    Fri Nov  4 14:21:37 CST 2016


如果在使用過程中修改了主機(jī)名(不推薦這樣做,會造成很多問題),可以在minion的配置文件中指定主機(jī)名(id), 然后刪除修改主機(jī)的KEY,重新啟動minon:

[root@node-1 ~]# salt-key -d old-key-name  #刪除指定的key
[root@node-1 ~]# salt-key -D  # 刪除所有key



SaltSack配置管理

當(dāng)需要對海量的機(jī)器進(jìn)行配置管理的時候經(jīng)常會修改各種配置文件,SaltStack的配置管理可以讓我們更方便的部署服務(wù),針對不同的服務(wù)器和不同的服務(wù),可以通過編輯.sls文件來管理。

SaltStack的配置分發(fā)管理是使用YAML狀態(tài)文件來編寫的。

YAML語法:
1.縮進(jìn): 兩個空格,不能使用tab鍵。

2.冒號:代表鍵值對  key: value (注意,鍵值對冒號后面有一個空格)

3.短橫線:表示列表(短橫線后面有一個空格)


基礎(chǔ)配置

編輯配置文件,定義YAML模塊:

# vim /etc/salt/master #打開基礎(chǔ)配置
file_roots:  
  base:    
    - /srv/salt   #配置文件根路徑

在示例中又三個模塊,base,dev,prod.分別代表基礎(chǔ)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境的配置,可以對每個模塊可以指定對應(yīng)路徑:

# Example:
# file_roots:
#   base:
#     - /srv/salt/
#   dev:
#     - /srv/salt/dev/services
#     - /srv/salt/dev/states
#   prod:
#     - /srv/salt/prod/services
#     - /srv/salt/prod/states

修改salt配置文件后重啟:

 systemctl restart salt-master

創(chuàng)建根路徑:

mkdir /srv/salt/        # salt的根路徑


批量執(zhí)行相同命令

在需要對大量主機(jī)安裝配置相同的內(nèi)容時可以通過編輯簡單的sls文件來執(zhí)行。

創(chuàng)建base環(huán)境文件分類目錄,編輯需要安裝的配置:

mkdir /srv/salt/web        
vim /srv/salt/web/apache.sls
#編寫內(nèi)容:
apache-install:         #命名ID,可隨意命名
  pkg.installed:        #pkg模塊,調(diào)用installed方法
    - names:            #installed方法中的參數(shù)
      - httpd           #需要安裝的包名
      - httpd-devel
apache-service:         #狀態(tài)命名ID
  service.running:      #調(diào)用service.running方法
    - name: httpd       #服務(wù)的命名為httpd
    - enable: True      #設(shè)置開機(jī)自啟動


執(zhí)行.sls文件:

 salt '*' state.sls web.apache     #state.sls執(zhí)行模塊,執(zhí)行根目錄中apache.sls文件

此時會在兩臺在線的主機(jī)上安裝Apache,并啟動。

查看node2上的文件,同樣生成了一個apache.sls的文件:

[root@node2 ~]# cat /var/cache/salt/minion/files/base/web/apache.sls 
apache-install:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel
apache-service:
  service.running:
    - name: httpd
    - enable: True

minion通過復(fù)制master的.sls文件到本地執(zhí)行。


對不同主機(jī)指定不同的動作

在master配置文件中,指定top配置文件,top文件必須在base環(huán)境中。

#state_top: top.sls  #默認(rèn)不需要配置

在指定的base環(huán)境路徑上編寫top.sls文件,為不同的minion主機(jī)指定不同的動作:

[root@node1 salt]# cat /srv/salt/top.sls 
base:
  'node1':
    - web.apache
  'node2':
    - web.apache

執(zhí)行高級狀態(tài)命令,使top.sls文件生效:

 salt '*' state.highstate test=True #測試top文件,對minion不做修改
 salt '*' state.highstate  # * 代表所有minion,執(zhí)行top文件內(nèi)容



SaltStack數(shù)據(jù)系統(tǒng)

SaltStack是通過兩種數(shù)據(jù)系統(tǒng)來發(fā)布的,Grains和Pillar。通過數(shù)據(jù)系統(tǒng)來統(tǒng)計主機(jī)的相關(guān)信息,進(jìn)而幫助用戶使用多樣化的方式來篩選定位我們要執(zhí)行salt命令的主機(jī)。


Grans介紹

Grains: 獲取靜態(tài)數(shù)據(jù) ,當(dāng)minion啟動的時候收集Minion本地的相關(guān)信息,如操作系統(tǒng)版本,內(nèi)核信息,硬件信息等,也可以自定義。當(dāng)minion啟動后,獲取的數(shù)據(jù)就不會再改變,只有重啟或同步時才能獲取新的變化信息。

 Grains的特性可以有幾種應(yīng)用場景:

  • 資產(chǎn)管理,信息查詢。

  • 用于目標(biāo)選擇。(salt -G 'key:value'  cmd.run 'cmd')

  • 配置管理中使用。

查看Grains信息:

 salt 'node1' grains.ls    #顯示所有模塊

 salt 'node1' grains.items  #顯示所有模塊的信息

 salt '*' grains.item fqdn  #返回所有minion端的fqdn信息


使用Grains指定信息對應(yīng)的主機(jī),執(zhí)行salt命令:

[root@node1 salt]# salt '*' grains.item os
node2:
    ----------
    os:
        CentOS
node1:
    ----------
    os:
        CentOS
[root@node1 salt]# salt -G 'os:CentOS' cmd.run 'date'   # -G 參數(shù)指定Grains信息
node1:
    Sun Nov  6 17:28:36 CST 2016
node2:
    Sun Nov  6 17:28:36 CST 2016

自定義Grains

自定義Grains有兩種方式:

  • 在/etc/salt/minion添加配置

  • 在/etc/salt/目錄編寫新的配置文件grains


在node2上的/etc/salt/minion添加配置,在grains部分取消注釋,添加一個roles角色:

grains:
  roles: apache

重啟salt-minion,并在master上獲取roles的值:

[root@node2 ~]# systemctl restart salt-minion
[root@node1 ~]# salt '*' grains.item roles
node1:
    ----------
    roles:
node2:
    ----------
    roles:
        apache

這樣就可以根據(jù)Grains的匹配結(jié)果來對符合匹配結(jié)果的主機(jī)執(zhí)行命令:

[root@node1 ~]# salt -G 'roles:apache' cmd.run 'date'  
node2:
    Sun Nov  6 17:51:07 CST 2016


在/etc/salt/目錄編寫新的配置文件grains:

[root@node2 ~]# cat /etc/salt/grains
saltname: trying
[root@node2 ~]# systemctl restart salt-minion  
#也可以在master上使用刷新命令,和重啟salt-minion效果一樣
[root@node1 ~]# salt '*' saltutil.sync_grains
node1:
node2:

master上查看:

[root@node1 ~]# salt '*' grains.item saltname
node1:
    ----------
    saltname:
node2:
    ----------
    saltname:
        trying


在top file中使用Grains

在top.sls中使用grains進(jìn)行匹配

vim /srv/salt/top.sls 
base:
  'node1':
    - web.apache
  'saltname:trying':      #此處grains匹配上node2
    - match: grain        #匹配grains,不加s.
    - web.apache


使用python腳本編寫一個Grains

使用python腳本編寫一個grains,需要存放在base環(huán)境中的_grains目錄中。

[root@node1 _grains]# cat /srv/salt/_grains/my_grains.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def my_grains():
    #init a grains
    grains = {}
    #set key-value
    grains['iaas'] = 'openstack'
    grains['blog'] = 'trying'
    # return value
    return grains


同步腳本到minion端:

[root@node1 _grains]# salt '*' saltutil.sync_grains #這里可以指定主機(jī)同步
node1:
    - grains.my_grains
node2:
    - grains.my_grains

在minion端可以看到同步過來的腳本和目錄:

[root@node2 ~]# tree /var/cache/salt/minion/
/var/cache/salt/minion/
├── accumulator
├── extmods
│   └── grains
│       ├── my_grains.py       #真正執(zhí)行的腳本
│       └── my_grains.pyc
├── files
│   └── base
│       ├── _grains
│       │   └── my_grains.py   #同步的腳本文件
│       ├── top.sls
│       └── web
│           └── apache.sls
├── highstate.cache.p
├── module_refresh
├── pkg_refresh
├── proc
└── sls.p

在master上查看執(zhí)行結(jié)果,已經(jīng)同步到minion上:

[root@node1 _grains]# salt '*' grains.item blog
node1:
    ----------
    blog:
        trying
node2:
    ----------
    blog:
        trying


Grains的優(yōu)先級


上面給出了四種方式可以使用Grains的值,在這四種方式中,如果出現(xiàn)了同名的情況,會

按照以下的優(yōu)先級來獲取對應(yīng)的值:

  1. 系統(tǒng)自帶的值

  2. /etc/salt/grains文件中編寫的值

  3. minion配置文件中定義的值

  4. /srv/salt/_grains/my_grains.py 腳本中自定義的值


================


Pillar介紹

與Grains不同的是,Pillar是動態(tài)的,能給特定的minion指定特定的數(shù)據(jù)。只有指定的minion能看到自己的數(shù)據(jù),這樣常用與一些敏感的特殊數(shù)據(jù)。

默認(rèn)情況下pillar的系統(tǒng)模塊是關(guān)閉的:

[root@node1 salt]# salt '*' pillar.items
node1:
    ----------
node2:
    ----------

可以在/etc/salt/master中打開注釋,修改為True,系統(tǒng)的這些變量很少會用到:
pillar_opts: True


自定義pillar

自定義pillar需要編寫一個sls文件,在文件中定義pillar. 使用YAML定義多級。

修改master配置文件,打開注釋:

vim /etc/salt/master
pillar_roots:
  base:
    - /srv/pillar

重啟salt-master:

systemctl  restart salt-master

創(chuàng)建pillar的目錄:

mkdir /srv/pillar

和grains一樣,創(chuàng)建分類目錄和.sls的文件    

vim  /srv/pillar/web/apache.sls 
{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'Debian' %}
apache: apache2
{% endif %}

在pillar目錄中編寫top file指定主機(jī),和grains中的一樣:

# cat /srv/pillar/top.sls 
base:
  'node2':         #只指定了node2
    - web.apache

刷新,使配置生效:

# salt '*' saltutil.refresh_pillar
node2:
    True
node1:
    True

執(zhí)行查看pillar items 生效:

# salt '*' pillar.items apache    
node2:
    ----------
    apache:
        httpd
node1:
    ----------
    apache:

使用pillar匹配上主機(jī)node2,執(zhí)行命令:

# salt -I 'apache:httpd' cmd.run  'hostname' 
node2:
    node2


Grains和Pillar的對比

分類類型數(shù)據(jù)采集方式應(yīng)用場景定義位置
Grains靜態(tài)minion啟動時收集數(shù)據(jù)查詢,目標(biāo)選擇,配置管理minion
Pillar動態(tài)master自定義目標(biāo)選擇,配置管理,敏感數(shù)據(jù)master



SaltStack遠(yuǎn)程執(zhí)行


saltstack命令語法, salt  '*'  cmd.run  'w'

命令:salt

目標(biāo):‘*’

模塊: cmd.run  自帶150+模塊,也可以自定義編寫模塊

返回:執(zhí)行后結(jié)果返回。


目標(biāo)選擇方式

所有匹配目標(biāo)的方式都可以用top file來指定。

使用通配符:

#  salt  'node*' test.ping
#  salt  'node[1|2]'  test.ping 
#  salt  'node[1-2]' test.ping
#  salt  'node[!2]' test.ping

 使用列表,-L:

#  salt -L 'node1,node2' test.ping

使用正則,-E:

#  salt -E 'node(1|2)*' test.ping

使用IP/子網(wǎng)方式:

#  salt -S '172.16.10.61' test.ping 

#  salt -S '172.16.10.0/24' test.ping 


使用node_group匹配:-N

修改配置文件/etc/salt/master,在node group模塊中添加匹配的組:

nodegroups:
  web: 'L@node1,node2'

重啟salt-master:

 systemctl restart salt-master

匹配node-group:

[root@node1 ~]# salt -N web test.ping
node2:
    True
node1:
    True


多種匹配方式命令示例:

https://www.unixhot.com/docs/saltstack/topics/targeting/index.html

https://www.unixhot.com/docs/saltstack/topics/targeting/compound.html   


SaltStack自帶模塊

https://docs.saltstack.com/en/latest/ref/modules/all/index.html#all-salt-modules 

Saltstack有很多集成的模塊,大部分模塊都是由python編寫,使用這些模塊可以很方便的返回一個信息列表或者執(zhí)行某些任務(wù)。

常用的一些模塊舉例:

network模塊:網(wǎng)絡(luò)相關(guān)服務(wù)

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.network.html#module-salt.modules.network 

salt.modules.network.active_tcp :這里表示了模塊函數(shù)的路徑和位置,salt.modules表示的就是slat模塊在本機(jī)的安裝位置,一般默認(rèn)情況下在 /usr/lib/python2.7/site-packages/salt/modules

在執(zhí)行命令的時候可以直接使用slat命令來調(diào)用

service 模塊:和主機(jī)當(dāng)前服務(wù)相關(guān)的模塊

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.service.html#module-salt.modules.service 

在一些常用的模塊中,有一些模塊方法已經(jīng)有了單獨(dú)的命令如cp模塊:

cp是復(fù)制模塊,在系統(tǒng)中我們可以直接使用salt-cp 如:

salt-cp  ‘*’  /etc/hosts  /tmp/   #拷貝本地的hosts文件到所有minion的/tmp目錄下。

state:執(zhí)行模塊

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#module-salt.modules.state 


Saltstack返回程序

數(shù)據(jù)的返回是由minion端提供的,可以將minion返回的數(shù)據(jù)直接寫入到mysql中而不經(jīng)過master。

要實(shí)現(xiàn)minion直接返回數(shù)據(jù)到mysql,需要在所有的minion安裝MySQL-python

salt  '*' state.single pkg.installed name=MySQL-python

使用返回數(shù)據(jù)存入mysql,需要在master上安裝數(shù)據(jù)庫,并且創(chuàng)建表結(jié)構(gòu),授權(quán):

https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html 

執(zhí)行下面命令,創(chuàng)建數(shù)據(jù)庫并授權(quán):

> CREATE DATABASE  `salt`
     DEFAULT CHARACTER SET utf8
     DEFAULT COLLATE utf8_general_ci;

> USE `salt`;

> DROP TABLE IF EXISTS `jids`;
  CREATE TABLE `jids` (
     `jid` varchar(255) NOT NULL,
     `load` mediumtext NOT NULL,
      UNIQUE KEY `jid` (`jid`)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      CREATE INDEX jid ON jids(jid) USING BTREE;

> DROP TABLE IF EXISTS `salt_returns`;

> CREATE TABLE `salt_returns` (
    `fun` varchar(50) NOT NULL,
    `jid` varchar(255) NOT NULL,
    `return` mediumtext NOT NULL,
    `id` varchar(255) NOT NULL,
    `success` varchar(10) NOT NULL,
    `full_ret` mediumtext NOT NULL,
    `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    KEY `id` (`id`),
    KEY `jid` (`jid`),
    KEY `fun` (`fun`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

> DROP TABLE IF EXISTS `salt_events`;

> CREATE TABLE `salt_events` (
    `id` BIGINT NOT NULL AUTO_INCREMENT,
    `tag` varchar(255) NOT NULL,
    `data` mediumtext NOT NULL,
    `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `master_id` varchar(255) NOT NULL,
    PRIMARY KEY (`id`),
    KEY `tag` (`tag`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

> grant all on salt.* to salt@'%'  identified by 'salt';

> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| salt               |
+--------------------+
4 rows in set (0.00 sec)
> use salt
Database changed
> show tables;
+----------------+
| Tables_in_salt |
+----------------+
| jids           |
| salt_events    |
| salt_returns   |
+----------------+
3 rows in set (0.00 sec)
MariaDB [salt]> select * from salt_returns;
Empty set (0.00 sec)


修改所有minion端salt的配置文件,加入下面配置后重啟salt服務(wù):

在配置最后添加如下信息:

mysql.host: '172.16.10.60'   # mysql所在的主機(jī)地址
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306

重啟minion服務(wù):

systemctl  restart salt-minion

執(zhí)行數(shù)據(jù)庫測試命令:

 salt '*' test.ping --return mysql

再次查看數(shù)據(jù)庫,發(fā)現(xiàn)已經(jīng)寫入數(shù)據(jù):

[root@node1 ~]# mysql -h 172.16.10.60 -usalt -p -e "use salt; select * from salt_returns\G"
Enter password: 
*************************** 1. row ***************************
       fun: test.ping
       jid: 20161108135248194687
    return: true
        id: node2
   success: 1
  full_ret: {"fun_args": [], "jid": "20161108135248194687", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "node2"}
alter_time: 2016-11-08 13:52:48
*************************** 2. row ***************************
       fun: test.ping
       jid: 20161108135248194687
    return: true
        id: node1
   success: 1
  full_ret: {"fun_args": [], "jid": "20161108135248194687", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "node1"}
alter_time: 2016-11-08 13:52:48

執(zhí)行一條命令,寫入數(shù)據(jù)庫:

salt '*' cmd.run 'df -h' --return mysql

再次查看數(shù)據(jù)庫,會發(fā)現(xiàn)數(shù)據(jù)庫中已經(jīng)記錄了操作的命令和返回值記錄,以及操作的時間。


編寫狀態(tài)模塊

我們可以根據(jù)自己的需要,自定義一些狀態(tài)模塊。比如,可以編寫一個模塊腳本,來執(zhí)行復(fù)雜的操作,直接使用salt來調(diào)用這些模塊就可以實(shí)現(xiàn)我們需要的功能。

模塊存放的路徑:/srv/salt/_modules

mkdir /srv/salt/_modules

編寫一個顯示磁盤信息的模塊腳本:

[root@node1 /srv/salt/_modules]# vim /srv/salt/_modules/my_disk.py
def list():
  cmd = 'df -h'
  ret = __salt__['cmd.run'](cmd)
  return ret

salt同步文件到所有minion端:

# salt '*' saltutil.sync_modules 
node1:
    - modules.my_disk
node2:
    - modules.my_disk

運(yùn)行my_disk.py模塊:

# salt '*' my_disk.list
node2:
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root  8.5G  1.4G  7.1G  17% /
    devtmpfs                 483M     0  483M   0% /dev
    tmpfs                    493M   12K  493M   1% /dev/shm
    tmpfs                    493M   20M  474M   4% /run
    tmpfs                    493M     0  493M   0% /sys/fs/cgroup
    /dev/sda1                497M  165M  332M  34% /boot
    tmpfs                     99M     0   99M   0% /run/user/0
node1:
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root  8.5G  1.6G  7.0G  18% /
    devtmpfs                 483M     0  483M   0% /dev
    tmpfs                    493M   28K  493M   1% /dev/shm
    tmpfs                    493M   20M  474M   4% /run
    tmpfs                    493M     0  493M   0% /sys/fs/cgroup
    /dev/sda1                497M  165M  332M  34% /boot
    tmpfs                     99M     0   99M   0% /run/user/0

可以看到salt將每一臺minion運(yùn)行的結(jié)果返回到我們的master端,和執(zhí)行df -h 的效果一樣。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI