亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python集中化管理平臺Ansible介紹與YAML簡介

系統 1858 0

本文實例講述了Python集中化管理平臺Ansible介紹與YAML。分享給大家供大家參考,具體如下:

一 中文社區

http://ansible.cn/forum.php

二 點睛

Ansible(http://www.ansibleworks.com/)一種集成IT系統的配置管理、應用部署、執行特定任務的開源平臺,是AnsibleWorks公司名下的項目,該公司由Cobbler及Func的作者于2012年創建成立。Ansible基于Python語言實現,由Paramiko和PyYAML兩個關鍵模塊構建。

Ansible具有如下特點:

  • 部署簡單,只需在主控端部署Ansible環境,被控端無需做任何操作;
  • 默認使用SSH(Secure SHell)協議對設備進行管理;
  • 主從集中化管理;
  • 配置簡單、功能強大、擴展性強;
  • 支持API及自定義模塊,可通過Python輕松擴展;
  • 通過Playbooks來定制強大的配置、狀態管理;
  • 對云計算平臺、大數據都有很好的支持;
  • 提供一個功能強大、操作性強的Web管理界面和REST API接口 ――AWX平臺。

Ansible的架構圖如下,用戶通過Ansible編排引擎操作公共/私有云或CMDB(配置管理數據庫)中的主機,其中Ansible編排引擎由 Inventory(主機與組規則)、API、Modules(模塊)、Plugins(插件) 組成。

Python集中化管理平臺Ansible介紹與YAML簡介_第1張圖片

Ansible與Saltstack最大的區別是Ansible無需在被控主機部署任何客戶端代理,默認直接通過SSH通道進行遠程命令執行或下發配置;相同點是都具備功能強大、靈活的系統管理、狀態配置,都使用YAML格式 來描述配置,兩者都提供豐富的模板及API,對云計算平臺、大數據都有很好的支持。

Ansible在GitHub上的地址為https://github.com/ansible/, 其中提供了不少配置例子供參考。

三 YAML語言

1 點睛

YAML是一種用來表達數據序列的編程語言,它的主要特點包括: 可讀性強、語法簡單明了、支持豐富的語言解析庫、通用性強等。 Ansible與Saltstack環境中配置文件都以YAML格式存在,熟悉YAML結構及語法對我們理解兩環境的相關配置至關重要。

下面的示例定義了在 master的不同業務環境下文件根路徑的描述:

            
file_roots:
base: - /srv/salt/
dev: - /srv/salt/dev
prod: - /srv/salt/prod


          

2 塊序列描述

塊序列就是將描述的元素序列映射到Python的列表(List)中。以下代碼演示了YAML與Python的對應關系:

            
import yaml
obj=yaml.load(
"""
- Hesperiidae
- Papilionidae
- Apatelodidae
- Epiplemidae
""")
print obj


          

本例中引用“-”來分隔列表中的每個元素,運行結果如下:

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/9_1_1.py
['Hesperiidae', 'Papilionidae', 'Apatelodidae', 'Epiplemidae']

YAML也存在類似于Python塊的概念,例如:

            
- Hesperiidae
- Papilionidae
- Apatelodidae
- Epiplemidae
- China
- USA
- Japan


          

3 塊映射描述

塊映射就是將描述的元素序列映射到Python的字典(Dictionary)中, 格式為“鍵(key):值(value)”,以下為YAML例子:

            
import yaml
obj=yaml.load(
"""
hero:
 hp: 34
 sp: 8
 level: 4
orc:
 hp: 12
 sp: 0
 level: 2
""")
print obj


          

對應的Python結果為:

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/9_1_1.py
{'hero': {'hp': 34, 'sp': 8, 'level': 4}, 'orc': {'hp': 12, 'sp': 0, 'level': 2}}

4 嵌套

YAML塊序列與塊映射是可以自由組合在一起的,它們之間可以相互嵌套,通過非常靈活的組合,可以幫助我們描述更加復雜的對象屬性,例如:

            
import yaml
obj=yaml.load(
"""
- hero:
  hp: 34
  sp: 8
  level: 4
- orc:
  hp:
   - 12
   - 30
  sp: 0
  level: 2
""")
print obj


          

運行結果如下:

E:\Python\python_auto_maintain\venv\Scripts\python.exe E:/Python/python_auto_maintain/9_1_1.py
[{'hero': {'hp': 34, 'sp': 8, 'level': 4}}, {'orc': {'hp': [12, 30], 'sp': 0, 'level': 2}}]

更多關于Python相關內容可查看本站專題:《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美洲精品亚洲精品中文字幕 | 日日拍夜夜操 | 日韩欧美影视 | 亚洲日本中文 | 免费99 | 奇米第四色在线视频 | 国产国拍亚洲精品福利 | 国内揄拍国内精品久久 | 色综合久久88色综合天天 | 国产极品福利 | 日韩精品影视 | 日日夜夜中文字幕 | 夜色资源网yese321 | 久久国产精品一区 | 四虎影院官网 | 狠狠色丁香婷婷综合久久来 | 偷偷操不一样的久久 | 一级欧美一级日韩毛片99 | 久草视频免费在线播放 | 久久精品网站免费观看调教 | www.国产.com | 中文字幕免费在线视频 | 天堂va | 狠狠色噜噜综合社区 | 涩涩在线观看 | 图片专区亚洲 欧美 另类 | 在线观看片成人免费视频 | 精品视频在线播放 | 免费a视频在线观看 | 天天做天天欢天天爽 | 国产成a人片在线观看视频 国产成a人片在线观看视频99 | 久久久精品影院 | 亚洲swag精品自拍一区 | 99精品视频免费 | 欧美日韩国产在线人成 | 成人久久影院 | 私人午夜影院 | 国产爱| 日本性网址 | 亚洲综合插 | 免费真实播放国产乱子伦 |