您所在的位置:首页 > 课程体系

Python自动化运维开发工程师

 

Python自动化运维开发课程介绍

 

    课程主要着眼于在日常的运维工作中应用Python来解决实际问题;课程以实际的案例出发,编写Python实用工具并在解决问题的同时说明系统运维在处理问题时的解决思路;掌握运维体系中配置管理、系统监控、自动化部署等系统之间的关系及实现方法。

 

Python自动化运维开发课程大纲

   linux系统管理(一)

了解并使用基本命令工具:

在shell下正确的命令语法使用输入、输出、重定向

使用grep和正则表达式来分析文本

使用SSH和VNC的远程操控系统

用户登录及切换用户

使用tar、star、gzip、bzip2进行归档、压缩及解压;创建和编辑文本文件

创建,删除,复制,移动文件和目录

创建硬和软链接

查看,设置和修改权限

使用系统帮助操作系统运行:正常开机,启动,关闭linux系统

使用不同模式启动系统

系统引导菜单

查看系统CPU、内存信息,调整进程优先级、杀死进程;查找并解析系统日志

访问虚拟机控制台

启动和停止虚拟机

启动,停止,并检查网络状态

系统间安全传输文件

配置本地存储:在MBR和GPT磁盘上查看、创建、删除分区

创建和删除物理卷,指定物理卷到卷组,创造删除逻辑卷

创建和配置加密分区,并配置解密文件系统

使用UUID配置文件系统

添加新的分区、逻辑卷、swap

 

   LINUX系统管理(二)

创建和配置文件系统:使用VFAT、EXT4、XFS文件系统

挂载、卸载、使用加密文件系统

挂载、卸载CIFS和NFS网络文件系统

配置加密文件系统和网络文件系统的自启动

扩展未加密逻辑卷

创建和配置SGID

创建和管理访问控制列表

诊断文件权限问题

部署,配置,维护系统:配置静态或动态网络和主机名解析

使用计划任务at和cron

启动和停止服务并配置服务,开机时自动启动

按预定效果配置系统自启动

自动化安装RHEL

配置guests用户

使用guests用户安装RHEL

配置系统在开机启动虚拟机

配置系统使用时间服务

使用远程库或本地库进行软件更新

升级内核

修改系统引导程序

管理用户和组:创建,删除,修改本地用户帐户

修改密码,调整本地用户帐户的密码使用期限

创建,删除,修改本地组和组成员资格

配置系统使用一个现有的LDAP目录服务的用户和组信息

配置系统使用一个现有的认证服务的用户和组信息

安全管理:使用 system-config-firewall 或 iptables配置防火墙

为SSH配置公钥认证

修改selinux模式

列出并确认SELinux文件和进程的上下文

恢复默认文件上下文

使用boolean修改系统SELinux设置

诊断和解决常规SELinux规则

 

   LINUX系统安全与服务(三)

系统的配置和管理

在两台RHEL间配置网络队列和桥接

配置IPv6地址和执行基本的IPv6的故障排除

配置静态路由

使用firewalld过滤数据包

配置网络地址翻译(NAT)

使用 /proc/sys 和sysctl修改和设置内核运行时参数

配置系统使用Kerberos认证

配置并使用iscsi

查看并汇总系统(CPU、内存、硬盘、网络)利用率信息

使用shell脚本的自动化系统的维护任务

配置一个系统登录到远程系统

配置系统接受远程登录;

网络服务:安装相关软件包

配置SELINUX服务支持

使用SELinux端口标签允许服务使用非标准的端口

配置服务自启动

配置服务的基本操作

配置基于主机和基于用户的安全性的服务

HTTP/HTTPS:配置一个虚拟主机

私人目录配置;

配置一个基本的CGI应用部署

配置group-managed信息

TLS安全配置

DNS:配置一个缓存服务器,针对DNS客户端的错误分析

NFS:为用户提供网络共享;为用户组提供网络共享;使用 Kerberos控制NFS访问

SMB:为用户提供网络共享;为用户组提供网络共享;配置一个多用户SMB挂载点

SMTP:配置邮件服务器

SSH:配置基于密钥的认证

配置描述文件的附加选项

NTP:使用其他NTP时间同步节点

数据库服务:

安装和配置MariaDB

备份和还原数据库

创建一个简单的数据库架构

执行简单的SQL对数据库的查询

 

   数据库

Mariadb与Mysql的渊源

数据库安装前的准备

存储准备

数据库安装与安全设定

数据库登录及状态查看

数据库创建及国际化设定

数据库引擎介绍及特性

lnnodb引擎及特性

MylASM引擎及特性

表设计技巧及规范

索引及主键

表关联及事物反应

数据库安全及用户管理

数据备份、冷备份及热备份

数据库恢复及一致性检查

主从数据库与replication工作原理

实现数据库读写分离

数据库性能调优

 

   运维应用部分

svn服务器及svn 客户端(Windows、Linux、mac)的应用安装设置及搭建、版本管理的理念及生产力

git 与svn 的优劣分析

大型的开发环境设置与部署

VPN,vpn的主流发展及openvpn 的应用部署

Openldap的部署及管理

Postfix及sendmail邮件服务器的架设及部署、安全、转发、与DNS之间的关系、邮件过滤、pop3及imap的设定

邮件客户端的使用及配置测试

集中式的用户管理及应用系统的验证及用户的统一管理

Apache与nginx服务性能对比

LNMP环境搭建及案例分析

Nginx虚拟主机、动静分离、日志轮询实施方案

LNMP实战环境配置文件的深入调优

Lnmp实战环境下常见问题分析及解决方案

Squid,squid反向代理技术原理及实施方案

Varnish,http加速器原理及应用实例

运维shell脚本编写实例

生产环境标准linux系统调优及安全部署

 

   集群存储部分

HA 的基本原理及应用的必要习惯

4个9高可用性的市场分析及需求讲解

运维领域的高可用软件的介绍及优劣分析

LVS集群介绍、体系结构及工作原理详解

LVS常用术语,命名约定,3种工作模式,10种调度算法讲解

基本服务上线lvs 例如Apache 邮件服务器, mysql结合LAMP 环境

双节点集群与多节点结群的应用场景及案例

LVS WEB集群和LVS 数据库集群的应用对比及区别讲解

LVS配合keepalived和heartbeat实现高可用性集群介绍及区别比较

Keepalived高可用裂脑问题原因及生产解决方案

多路径的配置及集群使用,提高该可用存储的访问及fence机制

fence设备、故障转移及服务切换

failover domain 故障域设定及腹胀处理

手工编写集群配置文件及错误排除

集群LVM 及集群文件系统

ISCSI及NFS共享存储解决方案

 

   监控软件及日志系统部署

常见监控软件的种类特点及应用场景说明

snmp 服务的安装配置及客户端配置,OID 讲解,监控明细案例

RRDTOOL绘图软件简介及应用

cacti及nagios监控报警软件安装配置实战讲解

Nagios/cacti监控软件优化调整,规划配置精讲

邮件预警及短信预警

lvs 集群、CPU\MENORY\DISK\NETWORL\I/O\MYSQL监控

Nagios/cacti监控软件生产环节常见问题分析,解决精讲

日志系统RSYSLOG

远程日志及集中式的日志部署

web日志分析系统

 

   KVM虚拟化部分

虚拟化技术原理及其优点

虚拟化产品介绍及真实案例分析

虚拟化环境搭建

kvm宿主机管理

Kvm snapshot 技术及恢复

kvm虚拟机配置文件详解及基本参数设定

kvm虚拟机资源配置方案

kvm虚拟机网络规划方案

虚拟机动态迁移技术

虚拟机调优

虚拟机kickstart部署实战

 

   PYTHON程序开发

Python发展史

Python与CPython

Python应用场景

为什么运维需要Python

Python数据结构介绍

Python数制讲解及应用

Python列表及应用场景

Python字典的设计及操作方法

Python元组与系统

Python数据结构之间的转换

Python条件及条件逻辑

Python语句结构

Python常见语句精讲

流程语句及条件语句

循环语句、系统循环处理、循环优化

函数及系统内置函数

函数设计及函数参数的设计

函数设计高级部分

面向对象思想

Class设计及类思想

类方法及方法设计

继承、封装、多态、重写

类设计高级部分

Python模块与包

Python与数据库API开发

ORM规范标准与Python程序

SQLalchemy深度编程,编写与数据库无关的程序

Python发展史网络编程socket\Twisted

程序并发、多线程与多进程

Python生成报表(excel、word、pdf)及AutoDoc介绍

Python图形处理

Python数据抓取及搜集

Python持久化存储及序列化

lPython与数据分析

lPython与NoteBook

 

   Ansible

Ansible与自动化

上课环境与培训方向定位

培训环境与国际化

Ansible如何安装部署

Ansible与生态环境

管理ansible配置文件

运行Ad Hoc命令

管理动态清单

YAML语法及国际通用语法规则

编写YAML文件

YAML配置文件故障排除

Ansible模块实现

实现Ansible PlayBooks

Ansible 变量基础

Ansible 变量该如何管理

Ansible Facts管理

Ansible Inlusions管理

构造流控制

Handlers实现

标签的作用

标签实现

错误管理与异常处理

Jinja2介绍与Python的渊源

实现Jinja2模板管理

Jinja2模板管理

模板描述

角色构造

角色创建与角色管理

使用Ansible Galaxy部署角色

角色在ansible中的实现

配置连接类型

并发配置与多线程配置

高效平行并发

其他方面优化与整合

系统管理中的敏感数据

敏感数据使用Ansible Vault

Ansible Vault在执行期间的管理

Playbooks故障排除

变量故障排除

执行期间故障排除

Ansible运行流程故障排除

什么是Ansible Tower

部署Ansible Tower

Ansible Tower用户管理

Ansible Tower主机管理

Ansible工作任务及任务调度管理

DevOps的优势及未来趋势发展

部署装配Vagrant虚拟机

DevOps环境部署Vagrant

部署Ansible

部署Ansible Tower和执行工作任务

管理角色和使用动态清单

Ansible优化及故障排除