随着互联网行业发展,运维工程师(ops/devops)的职位也变的越来越具挑战性,作为一个运维工程师要照顾到从硬件到软件,从基础架构到应用层业务的方方面面。日常运维工作纷繁复杂,占用了大量工作时间,大量重复性劳动严重打击运维工程师的积极性,而且极易出错。如何实现对日常工作的自动化变的越来越迫在眉睫。 同是运维岗,为什么有些人能拿到数万的月薪,而另外一些人却只能拿5千?低薪的人,管理机器全靠身体扛,全手工或半手工的管理模式,为了做个备份,要熬到半夜,负荷高的时候,还要紧张地时刻盯着屏幕上的性能数据,如果遇到系统升级机房搬迁那就更别提了,这种管理方式,充其量管个十台八台服务器就是极限了。眼看头发越来越稀少,肝功能越来越差,钱包实力却未见变得雄厚,心里不好受吧!高明的运维,却一个人可以轻松地管理成百上千台,甚至上万台服务器,他们掌握的技能使其能熟练运用各种自动化脚本和自动化运维软件,以机器管理机器,效能得到有效提升。任何一位老板相信都愿意付出10倍的薪酬去聘请一位效能能超出100倍的员工。至于那些有志于做运维服务的创业公司,效能更是核心竞争力和拒止门槛,运维服务商和拥有众多服务器的互联网企业和巨型企业是目前在开源自动运维领域最活跃的支持者和生力军。 本课程所讲授的Puppet(词义:木偶,傀儡)就是这么一个能成百上千倍提高自动化运维水平的开源软件,根据国外的统计,掌握puppet技能的人,个人薪酬列在排名头30项高薪IT技能里(见链接:http://it.dataguru.cn/article-6816-1.html)。学好puppet,提早进入机器人的幸福时代,机器人拼命干活,您拼命数钱。 这是全国首次公开宣讲成体系化的Puppet课程,主要讲解自动化配置管理软件Puppet及其相关的组件,希望能帮助陷于沉重日常重复劳动的运维工程师们解放出来,把精力在更有价值,更有挑战的工作上面。
课程大纲: 第一课:Puppet 入门介绍 目前存在多个不同的配置管理软件,各有优劣,本届课程做简要介绍对比,讲解puppet基本原理和入门知识。 课程内容: 运维自动化软件简要介绍和对比 Puppet安装(master/agent,standalone模式),升级,主要配置选项简要介绍,支持系统和平台,Ruby环境依赖(RVM简要介绍)。 基本工作原理,编译和catalogs。 核心配置文件。 puppet的第一个基本配置文件。 第二课:Puppet基本命令和语法 puppet实现了自己的DSL,本节课讲解puppet的语法。 课程内容: puppet基本命令 语法风格。 保留关键字,命名规范 变量(作用域),数据类型 表达式,条件语句 functions(函数/方法) 检查puppet配置的命令。 第三课:资源和资源类型 puppet的资源是整个puppet配置更为核心的地方,puppet对整个系统的管理主要依赖于资源实现。本节课程讲解puppet资源和资源类型。 课程内容: 介绍RAL(Puppet’s resource abstraction layer),types和providers。 讲解puppet资源和资源类型,核心资源类型。 获取当前系统的存在资源和资源类型,manifest,并创建自己的puppet资源配置文件。 资源顺序 ordering(元参数,order关键字, stage,auto-order)。 资源默认值。 资源标签。 虚拟资源,导出资源。 第四课:Puppet 类,模块,模版 puppet通过一定的抽象实现来对某一类特定资源进行管理,比如ssh,会包括配置管理和服务管理,软件包管理几个部分,如何抽象出成为一个‘组合’(module),如何适应不同的操作系统,如何抽象配置文件,实现代码重用。 课程内容: 无参数类,有参数类,命名空间。 资源收集器。 puppet模块。 文件和ERB模版,ERB模版语法。 defined types。 第五课:Facts和Hiera facts为puppet提供了节点级别的metadata,使得puppet可以根据 facts进行个性化的配置,比如是否是云服务器,就可以针对性的对主机进行配置变更优化和升级等等操作。除了puppet自带核心facts,也会涉及到如何自定义facts,来进一步增强puppet的功能。 如何重用已有的Puppet代码,如何隔离敏感数据和配置(Hiera)。 课程内容: facts(内置变量) 自定义facts hiera介绍和使用 结合hire和facts以及环境变量。 第六课:节点管理 日常工作中会有不同类型的服务器,有的是物理服务器,有的是云服务器;有的是db服务器,有的是web服务器;那么如何进行有效节点管理/分类也成为我们眼前的一个难题,本节课讲解节点分类的常见方法。如何有效的进行不同维度的节点管理。 比如,如何巧用环境变量来区分开发和测试环境,不同服务器的角色。 课程内容: fqdn节点匹配,正则表达式匹配 外部节点分类器(ENC) 结合puppet环境变量和hiera,custom facts,自定义节点分类器(self-classifier) 第七课:大规模部署 和 版本控制 实际工作中可能有成百上千,成千上万台服务器需要管理维护,比如由于安全漏洞,要升级openssl到特定版本,本节课如何大规模部署puppet,同时在大规模集群环境下如何提高puppet的性能,puppet的架构如何扩展。 课程内容: 如何结合版本控制,环境变量,管理puppet的代码。 puppet master节点瓶颈和扩展。 自动签名。 文件资源管理优化。 第八课:Puppet 其它组件介绍 有些时候我们并不需要每一个模块都自己编写,我们也可以借鉴已有的代码,如何迅速高效高质量完成工作是我们的目标,本节课讲解如何借助已有的代码迅速增加自己的puppet模块。 有些时候我们需要不同agent节点共享其它节点的数据,比如db服务器的需要添加web节点ip作为白名单。 有些时候我们需要一些额外的功能,比如facts里面的某些配置是true 或者 false,但是是字符串变量,如何转换成为boolean类型呢? 课程内容: Puppet DB 和导出资源。 Puppet Dashboard。 Puppet Forge。 Puppet stdlib。 第九课:puppet整合实战 以具体业务系统讲解实际环境puppet配置管理。本节课内容会包含多个模块设计和编码。 第十课:Mcollective 并行作业执行系统,运维工程需要经常临时执行一些命令以便检查所有服务器特定文件内容,或者特定运行指标,甚至是下载特定文件等等,使用mco可以根据预定义的factor甚至是自定的特征批量执行任务命令。 课程内容: mco 配置和使用。 本课程基于 Puppet 3.7 + Ubuntu-14.04 (Trusty)。 授课时间: 课程将于1月12日开始,课程持续时间大约为12周。 课程必备: 了解Linux系统基本操作,有一定运维经验,有一定脚本语言基础,比如基本shell操作。 如果了解一些ruby会更有帮助,不过即使完全不了解ruby也完全不影响学习和理解本课程。 收获预期: 可以使用Puppet及其相关组件,实现运维业务系统自动化,提升运维自动化水平。 授课讲师: 李强: 有6-7年运维工作经验,有BBS/SNS, 游戏, CDN, 虚拟化与云计算, SQL-SQL,Big-Data等多个行业以及相关领域的运维工作经验。对各种前沿技术有较为深入的了解和研究。 课程试听: 新颖的课程收费形式:“逆向收费”约等于免费学习,仅收取100元固定收费+300元暂存学费,学习圆满则全额奖励返还给学员! 本门课程本来打算完全免费,某位大神曾经说过“成功就是正确的方向再加上适度的压力”。考虑到讲师本身要付出巨大的劳动,为了防止一些朋友在学习途中半途而废,浪费了讲师的付出,为此我们计划模仿某些健身课程,使用“逆向收费”的方法。 在报名时每位报名者收取400元,其中100元为固定 收费,另外300是暂存学费,即如果学员能完成全部课程要求,包括完成全部的书面和互动作业,则300元全款退回。如果学员未能坚持到完全所有的学习计划任务,则会被扣款。期望这种方式可以转化为大家强烈的学习愿望和驱动力! 课程授课方式: 1、 学习方式:老师发布教学资料、教材,幻灯片和视频,学员通过网络下载学习。同时通过论坛互动中老师对学员进行指导及学员之间相互交流。 2、 学习作业:老师每周布置书面及互动作业,学员需按时按质完成作业。 3、 老师辅导:根据作业批改中发现的问题,针对性给予辅导,帮助大家掌握知识。 4、 结业测验:通过测验,完成学业。 您是否对此课程还有疑问,那么请 点击进入 FAQ,您的问题将基本得到解答 咨询QQ: 2222010006 (上班时间在线) 技术热点、 行业资讯,培训课程信息,尽在炼数成金官方微信,低成本传递高端知识!技术成就梦想!欢迎关注! 打开微信,使用扫一扫功能,即刻关注炼数成金官方微信账户,不容错过的精彩,期待您的体验!!! |