精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

如何理解SaltHighstate數據結構定義-創新互聯

今天就跟大家聊聊有關如何理解Salt Highstate數據結構定義,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

成都創新互聯公司是專業的滿洲網站建設公司,滿洲接單;提供成都網站設計、做網站、成都外貿網站建設公司,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行滿洲網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

小編將詳細介紹SLS文件中每個部分的名稱與含義,以及SLS中的數據處理后的數據結構。

Salt State Tree

Top file

Salt State系統的入口文件,其中定義了minion處于哪個環境,加載哪些SLS模塊。

State tree

存放在file_roots目錄下的一系列SLS文件。使用SLS模塊的形式來組織State tree。

Include聲明

Include聲明

一個list,其元素是要引用到本SLS文件的其他SLS模塊。 只能用在highstate結構的頂層。

示例:

include:
  - edit.vim
  - http.server

Module引用

Module引用

SLS模塊的名字,以在Salt master上的文件結構命名。名為edit.vim的模塊指向salt://edit/vim.sls

ID聲明

ID聲明

定義一個獨立的highstate數據段。ID在highstate dict中作為key,其對應的value是包含state聲明和requisit聲明的另一個dict。
用在highstate結構的頂層或extend聲明的下一層。
ID在整個State tree中必須是唯一的。如果同一個ID用了兩次,只有最先匹配到的生效,其他所有的同名ID聲明被忽略。

Extend聲明

Extend聲明

擴展被引用的SLS模塊中的name聲明。extend聲明也是一個dict,其key必須是在被引用的SLS模塊中定義的ID。
只能用在highstate結構的頂層。

在需要增加或修改另一個SLS文件中定義的state聲明時,Extend聲明非常有用。下面的代碼來自mywebsite.sls文件,其中include并且extend了apache.sls模塊(增加了apache監視的對象),使得Apache服務在配置文件mywebsite發生改變時自動重啟。

include:
  - apache
extend:
  apache:
    service:
      - watch:
        - file: mywebsite
mywebsite:
  file:
    - managed

State聲明

State聲明

一個list,至少包含一個定義function聲明的string,0個或多個function arg聲明的dict。
還有一些可選的成員,比如名字覆蓋部分(name和names聲明),requistie聲明。
只能用在ID聲明的下一級。

Requisite聲明

Requisite聲明

一個list,其成員是requisite引用。
用來生成動作依賴樹。Salt states被設計成按確定的順序執行,require或watch其他Salt state可以調整執行的順序。
做為list組件用在state聲明下一級,或是作為key用在ID聲明下一級。

Requisite引用

Requisite引用

只有一個key的dict。key是被引用的state聲明的名字,value是被引用的ID聲明的名字。 只能用作requisite聲明的成員。

Function聲明

Function聲明

state中要要執行的function。1個state聲明中只能有1個function聲明。

下面的例子中,state聲明調用了state模塊pkg模塊中的installed功能。

httpd:
  pkg.installed

可以用行內縮寫方式聲明function(上面的例子中就是),使用完整寫法使得數據結構更清晰:

httpd:
  pkg:
    - installed

需要注意的是連續的兩個簡寫形式是無效的,為了避免疑惑,建議全部采用完整寫法。
INVALID:

httpd:
  pkg.installed
  service.running

VALID:

httpd:
  pkg:
    - installed
  service:
    - running

只能用作state聲明的成員。

Function arg聲明

Function arg聲明

只有1個key的dict,作為參數傳遞給function聲明,其值為有效的Python類型。其類型必須滿足function的需要。 用在function聲明下一級。

下面的例子中,state聲明是file,function聲明是managed,user、group和mode是傳遞給managed的參數:

/etc/http/conf/http.conf:
  file.managed:
    - user: root
    - group: root
    - mode: 644

Name聲明

Name聲明

覆蓋state聲明中的name參數。name參數的默認值是ID聲明。 name總是1個單key字典,其值類型是string。

在有的場景下,修改默認的name參數非常有用。比如說,可以避免ID沖突。下面例子中的兩個state不能同時使用/etc/motd作為ID:

motd_perms:
  file.managed:
    - name: /etc/motd
    - mode: 644
motd_quote:
  file.append:
    - name: /etc/motd
    - text: "Of all smells, bread; of all tastes, salt."

另外一個使用name聲明的場景是,ID聲明非常長,又需要在多次引用這個ID。在下面的例子,使用mywebsite/etc/apache2/sites-available/mywebsite.com方便多了:

mywebsite:
  file.managed:
    - name: /etc/apache2/sites-available/mywebsite.com
    - source: salt://mywebsite.com
a2ensite mywebsite.com:
  cmd.wait:
    - unless: test -L /etc/apache2/sites-enabled/mywebsite.com
    - watch:
      - file: mywebsite
apache2:
  service:
    - running
    - watch:
      - file: mywebsite

Names聲明

Names聲明

將1個state聲明擴展為多個不同名的state聲明。

看下面的例子:

python-pkgs:
  pkg.installed:
    - names:
      - python-django
      - python-crypto
      - python-yaml

轉換成lowstate后的結果是:

python-django:
  pkg.installed
python-crypto:
  pkg.installed
python-yaml:
  pkg.installed

完整的例子

下面的YAML是一個完整的例子,其中的名字部分使用的是hightstate組件名。

:
  - 
  - 
:
  :
    []
# standard declaration
:
  :
    - 
    - 
    - 
    - 
    - 
    - :
      - 
      - 
# inline function and names
:
  .:
    - 
    - 
    - 
    - :
      - 
      - 
      - 
    - :
      - 
      - 
# multiple states for single id
:
  :
    - 
    - 
    - 
    - :
      - 
  :
    - 
    - 
    - :
      - 
      - 
    - :
      - 

看完上述內容,你們對如何理解Salt Highstate數據結構定義有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯-成都網站建設公司行業資訊頻道,感謝大家的支持。


網站題目:如何理解SaltHighstate數據結構定義-創新互聯
轉載源于:http://m.jcarcd.cn/article/doosod.html
主站蜘蛛池模板: 午夜福利久 | 精品va在线观看 | 国产精品视频露脸 | 国内老司机精品视频 | 欧美综合影视自拍 | 欧美亚洲校园第一页 | 尤物99国产成 | 精品亚洲 | 91欧美| 韩国三级在线观看 | 福利资源视频 | 日本成人动漫网站 | 欧洲色中文字 | 国产综合精品一区 | 91成人精品视频 | 日本高清不 | 国产精精品免费观看 | 欧美亚洲综 | 国产精品香焦免费看 | 日韩ac| 国产欧美亚洲精品a | 97超级碰碰碰| 欧美亚洲第一页 | 午夜欧美在线 | 日韩一区在线免费 | 成人欧美 | 成人激情视 | 国产欧美日本不卡 | 日韩乱码一区 | 日韩视频在线免费 | 中文字幕日韩在线 | 日本91| 国产福利在线小视频 | 国产亚洲视品在线 | 国产又大又硬又粗 | 国产拍拍亚洲精品 | 欧美日韩一二三区 | 91精品国产福利在 | 国语精品91自产 | 欧洲免费观看 | 乱色熟女综合一 |