×
暂无评论
图文详情
  • ISBN:9787115530189
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:24cm
  • 页数:310页
  • 出版时间:2020-04-01
  • 条形码:9787115530189 ; 978-7-115-53018-9

本书特色

本书旨在讲述通过Python简化运维、提升运维效率的方法和实践。 本书首先介绍如何开发Python程序 、创建Python模块,然后讲述如何使用Python工具获取重要的输出信息、生成通用的配置模板、自动安装操作系统、配置大量服务器,*后讨论如何创建和管理虚拟机,如何利用OpenStack、VMware、AWS自动执行管理任务等。 通过本书,你将掌握用Python实现自动化运维的各种方法和技巧。 本书主要内容: ·Python中常用模块的用法; ·通过Python脚本管理网络设备的方法; ·使用Ansible和Fabric自动执行常见的Linux管理任务的方法; ·管理Linu**程的方法; ·使用Python管理VMware、OpenStack和AWS实例的方法; ·基于Python的安全工具的用法。

内容简介

《Python自动化运维实战》介绍了如何通过Python来自动完成服务器的配置与管理,自动完成系统的管理任务(如用户管理、数据库管理和进程管理),以及完成这些工作所需的模块、库和工具。此外,本书还讲述了如何使用Python脚本自动执行测试,如何通过Python在云基础设施和虚拟机上自动执行任务,如何使用基于Python的安全工具自动完成与安全相关的任务。 本书适合运维人员和开发人员阅读,也可作为相关专业人士的参考书。

目录

第 1章 搭建Python环境 1 1.1 Python简介 2 1.1.1 Python版本 3 1.1.2 安装Python 4 1.2 安装PyCharm IDE 6 1.3 PyCharm的高级功能 12 1.3.1 调试代码 13 1.3.2 重构代码 14 1.3.3 从GUI安装包 16 1.4 小结 17 第 2章 常用的自动化库 18 2.1 Python包 19 2.2 常用Python库 20 2.2.1 与网络相关的Python库 21 2.2.2 与系统和云相关的Python库 22 2.3 查看模块源代码 23 2.4 小结 28 第3章 搭建网络实验室环境 29 3.1 技术要求 30 3.2 需要自动化网络的时间和原因 30 3.3 自动化的两种方式——屏幕抓取与API 31 3.4 使用Python进行网络自动化的原因 31 3.5 网络自动化的未来 33 3.6 搭建网络实验室 34 3.7 准备工作——安装EVE-NG 34 3.7.1 在VMware Workstation上安装 35 3.7.2 通过VMware ESXi安装 36 3.7.3 通过Red Hat KVM安装 38 3.7.4 访问EVE-NG 39 3.7.5 安装EVE-NG客户端工具包 42 3.7.6 在EVE-NG中加载网络镜像 43 3.8 创建企业网络拓扑 43 3.8.1 添加新节点 44 3.8.2 连接节点 45 3.9 小结 47 第4章 使用Python管理网络设备 48 4.1 技术要求 49 4.1.1 Python和SSH 49 4.1.2 Paramiko模块 50 4.1.3 netmiko模块 52 4.2 在Python中使用Telnet协议 59 4.3 使用netaddr处理IP地址和网络 64 4.3.1 安装netaddr 65 4.3.2 使用netaddr的方法 65 4.4 简单的用例 67 4.4.1 备份设备配置 68 4.4.2 创建访问终端 70 4.4.3 从Excel工作表中读取数据 72 4.4.4 其他用例 75 4.5 小结 75 第5章 从网络设备中提取数据 76 5.1 技术要求 77 5.2 解释器 77 5.3 正则表达式 78 5.4 使用CiscoConfParse库校验配置 86 5.4.1 CiscoConfParse库 86 5.4.2 支持的供应商 87 5.4.3 安装CiscoConfParse库 88 5.4.4 使用CiscoConfParse库 88 5.5 使用Matplotlib库可视化返回的数据 91 5.5.1 安装Matplotlib库 91 5.5.2 使用Matplotlib库 92 5.5.3 使用Matplotlib库可视化SNMP 94 5.6 小结 96 第6章 使用Python和Jinja2配置生成器 97 6.1 YAML简介 98 6.2 使用Jinja2建立配置模板 102 6.2.1 从文件系统中读取模板 109 6.2.2 在Jinja2中使用循环和条件 111 6.3 小结 119 第7章 并行执行Python脚本 120 7.1 Python脚本在计算机中运行的方式 121 7.2 multiprocessing库 123 7.2.1 开始使用multiprocessing库 123 7.2.2 进程间的相互通信 126 7.3 小结 127 第8章 准备实验室环境 128 8.1 获取Linux操作系统 129 8.1.1 下载CentOS 129 8.1.2 下载Ubuntu 130 8.2 在虚拟机管理程序上创建自动化虚拟机 131 8.2.1 在VMware ESXi上创建Linux虚拟机 131 8.2.2 使用KVM创建Linux虚拟机 135 8.3 开始使用Cobbler 139 8.3.1 Cobbler的工作原理 139 8.3.2 在自动化服务器上安装Cobbler 141 8.3.3 通过Cobbler检查服务器硬件 144 8.4 小结 149 第9章 使用subprocess库 150 9.1 subprocess库中的Popen() 151 9.2 stdin、stdout和stderr 154 9.3 subprocess库中的call()函数 156 9.4 小结 157 第 10章 使用Fabric运行系统管理任务 158 10.1 技术要求 159 10.2 Fabric库 159 10.2.1 安装Fabric库 160 10.2.2 Fabric库中的操作 161 10.3 运行第 一个Fabric文件 164 10.3.1 有关fab工具的更多信息 167 10.3.2 使用Fabric检查系统健康状态 168 10.4 其他有用的Fabric特性 173 10.4.1 Fabric角色 173 10.4.2 Fabric上下文管理器 175 10.5 小结 176 第 11章 生成系统报告和监控系统 177 11.1 从Linux系统中收集数据 178 11.1.1 通过邮件发送收集的数据 183 11.1.2 使用time和date模块 186 11.1.3 定期运行脚本 187 11.2 在Ansible中管理用户 188 11.2.1 在Linux系统中通过Ansible管理用户 188 11.2.2 在Windows系统中通过Ansible管理用户 190 11.3 小结 190 第 12章 与数据库交互 191 12.1 在自动化服务器上安装MySQL 192 12.1.1 安装后的安全问题 193 12.1.2 验证数据库的安装 194 12.2 从Python中访问MySQL数据库 195 12.2.1 查询数据库 197 12.2.2 向数据库中插入数据 198 12.3 小结 201 第 13章 使用Ansible管理系统 202 13.1 Ansible术语 203 13.2 在Linux系统上安装Ansible 205 13.2.1 在RHEL系统和CentOS上安装Ansible 205 13.2.2 在Ubuntu系统上安装Ansible 205 13.3 在即席模式下使用Ansible 206 13.4 创建第 一个playbook 210 13.5 Ansible的条件、处理程序和循环 212 13.5.1 设计条件 213 13.5.2 在Ansible中创建循环 215 13.5.3 使用处理程序触发任务 216 13.6 使用事实数据 218 13.7 使用Ansible模板 219 13.8 小结 221 第 14章 创建和管理VMware虚拟机 222 14.1 设置环境 223 14.2 使用Jinja2生成VMX文件 225 14.2.1 创建VMX模板 226 14.2.2 处理Excel工作表中的数据 229 14.2.3 生成VMX文件 231 14.3 VMware Python客户端 238 14.3.1 安装PyVmomi库 239 14.3.2 使用PyVmomi库的第 一步 240 14.3.3 更改虚拟机的状态 244 14.3.4 更多内容 246 14.4 使用playbook管理实例 246 14.5 小结 249 第 15章 和OpenStack API交互 250 15.1 RESTful Web服务 251 15.2 设置环境 253 15.2.1 安装rdo-OpenStack包 253 15.2.2 生成answer文件 254 15.2.3 编辑answer文件 254 15.2.4 运行packstack 255 15.2.5 访问OpenStack GUI 255 15.3 向OpenStack keystone发送请求 256 15.4 用Python创建实例 259 15.4.1 创建镜像 259 15.4.2 分配类型模板 261 15.4.3 创建网络和子网 262 15.4.4 启动实例 265 15.5 使用Ansible管理OpenStack实例 266 15.5.1 Shade和Ansible的安装 266 15.5.2 创建Ansible playbook 267 15.6 小结 270 第 16章 使用Python和Boto3自动化AWS 271 16.1 AWS Python模块 272 16.2 管理AWS实例 274 16.3 自动化AWS S3服务 277 16.3.1 创建存储桶 277 16.3.2 上传文件到存储桶 278 16.3.3 删除存储桶 278 16.4 小结 279 第 17章 使用Scapy框架 280 17.1 Scapy 281 17.2 安装Scapy 282 17.2.1 在基于UNIX的系统上安装Scapy 282 17.2.2 Windows系统和macOS对Scapy的支持情况 283 17.3 使用Scapy生成报文和网络流 283 17.4 抓取和重播报文 288 17.4.1 向报文注入数据 290 17.4.2 报文嗅探 292 17.4.3 将报文写入pcap文件 294 17.5 小结 294 第 18章 使用Python编写网络扫描程序 295 18.1 网络扫描程序 296 18.2 使用Python编写网络扫描程序 296 18.2.1 增加功能 297 18.2.2 扫描服务 300 18.3 在GitHub上共享代码 303 18.3.1 创建GitHub账户 304 18.3.2 创建和推送代码 304 18.4 小结 310
展开全部

作者简介

[美]巴塞姆·阿利(Bassem Aly),是Juniper Networks公司经验丰富的SDN/NFV解决方案顾问,过去9年来一直在电信行业工作。他擅长使用不同的自动化工具以及DevOps框架设计和实现下一代自动化解决方案。此外,他在使用OpenStack构建和部署电信应用程序方面拥有丰富的经验,同时他还负责网络自动化和网络编程方面的企业培训。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航