来源:自学PHP网 时间:2019-08-07 16:35 作者:小飞侠 阅读:次
[导读] Python集中化管理平台Ansible介绍与YAML简介...
本文实例讲述了Python集中化管理平台Ansible介绍与YAML。分享给大家供大家参考,具体如下: 一 中文社区 http://ansible.cn/forum.php 二 点睛 Ansible(http://www.ansibleworks.com/)一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台,是AnsibleWorks公司名下的项目,该公司由Cobbler及Func的作者于2012年创建成立。Ansible基于Python语言实现,由Paramiko和PyYAML两个关键模块构建。 Ansible具有如下特点:
Ansible的架构图如下,用户通过Ansible编排引擎操作公共/私有云或CMDB(配置管理数据库)中的主机,其中Ansible编排引擎由 Inventory(主机与组规则)、API、Modules(模块)、Plugins(插件) 组成。 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 本例中引用“-”来分隔列表中的每个元素,运行结果如下:
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结果为:
4 嵌套 YAML块序列与块映射是可以自由组合在一起的,它们之间可以相互嵌套,通过非常灵活的组合,可以帮助我们描述更加复杂的对象属性,例如: import yaml obj=yaml.load( """ - hero: hp: 34 sp: 8 level: 4 - orc: hp: - 12 - 30 sp: 0 level: 2 """) print obj 运行结果如下:
更多关于Python相关内容可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com