ansible全面介绍及运维工程师日常工作解析

ansible全面介绍及运维工程师日常工作解析

运维自动化发展历程及技术应用

  1. 本地部署(on-permises)
    自己买硬件服务器,自己部署系统,开发应用程序
  2. 基础设施即服务(laas---infrastructure as a server)
    硬件通过购买的方式(阿里云/AWS/腾讯云),提供基本硬件架构,有了硬件后自己只需要按需求部署系统/软件应用即可
  3. 平台即服务(paas---Platform as a service)
    通过购买(阿里云/腾讯云/AWS等)云服务,在购买的时候会把系统环境一并做好,只需要在服务器上做应用开发就可
  4. 软件即服务(saas---software as a service)
    从硬件到操作系统再到应用开发全部一站式购买,只需要付钱购买就行,(有的带有WEB页面,直接交互式按需求部署即可)
    例如:淘宝,不需要自己买服务器开发网站应用,只需要交钱给淘宝然后在淘宝上创建页面即可,省去的购买服务器,找人开发页面的过程

后面的英文单词及概念要记住!

自动化运维应用场景

  • 文件传输
  • 命令执行
  1. 应用部署
  2. 配置管理
  3. 任务流编排

企业实际应用场景分析

  • Dev开发环境
    使用者: 程序员
    功能: 程序员开发软件,测试BUG的环境
    管理人员: 程序员

一般是由程序员自行管理,运维不要接收

  • 测试环境
    使用者: QA测试工程师
    功能: 测试经过Dev环境测试通过的软件的功能
    管理人员: 运维

说明:
测试环境往往有很多套(IOS平台/安卓平台),测试环境满足测试功能即可,不宜过多
(1)测试人员希望测试环境有多套,公司的产品多产品线并发,鸡即多个版本意味着多个版本同步测试
(2)通过测试环境有多少套和产品线数量保持一样

  • 发布环境
    代码发布机,有些公司为堡垒机(安全屏障)
    使用者: 运维
    功能: 发布代码到生产环境
    管理人员: 运维(需要有经验的)
    发布机: 往往需要2台(主备)

  • 生产环境
    使用者: 运维,少数情况开放权限给核心开发人员,极少数公司将权限完全开放给开发人员并其维护,(不要随便给其他人权限,出问题后需要承担责任!)
    功能: 对用户提供公司产品的服务
    管理人员: 只能是运维
    生产环境服务器数量: 一般比较多,且应用非常重要.往往需要自动工具协助部署配置应用

  • 灰度环境
    生产环境的一部分
    使用者: 运维
    功能: 在全量发布代码前将代码的功能面向少量精准用户发布的环境,可基于主机或用户执行灰度发布
    案例:

  1. 基于主机发布

共100台生产服务器,先发布其中10台服务器,这10台服务器就是灰度服务器,有问题的话也是这10台上的用户受到影响,遇到问题立马解决

  1. 基于用户发布

比如利用会员机制或者一部分用户(优先尝鲜使用新版本),这部分人优先使用新版本,如果没问题后在进行全面升级版本

  1. 基于地区发布

比如有些软件只能某个地区使用的,一个地区一个地区的逐渐升级版本

管理人员: 运维
灰度环境: 往往该版本功能变更较大,为保险起见特意先让一部分用户优化体验该功能,待这部分用户使用没有重大问题的时候,再全量发布至所有服务器.

  • 程序发布
  1. 预发布验证
    新版本的代码先发布到服务器(跟线上环境配置完全相同,知识未接入到调度器),放到测试服务器上线测试(不对外发布使用)

  2. 程序发布
    不能导致系统故障或造成系统完全不可用
    不能影响用户体验
    (类似于飞机空中加油!ヾ(◍°∇°◍)ノ゙)

  3. 灰度发布

  4. 发布路径
    例如:

/webapp/zhanshen-1.1  #用这个版本就生成一个/webapp/zhanshen软连接

/webapp/zhanshen  #这是一个软连接,用户访问次目录,

/webapp/zhanshen-1.2  #用这个版本就把1.1版本删除后再生成一个/webapp/zhanshen软连接
  1. 发布过程
    在调度器上下线一批主机(标记为maintanance状态)--> 关闭服务 --> 部署新版本的应用程序 --> 启动服务 --> 在调度器上启用这一批服务器
  2. 自动化灰度发布
    自动化脚本/自动化运维发布平台来代替上面提到的复杂的发布过程

常用自动化运维工具

  • ansible:语言开发:Python-->agentless(无客户端/无代理)-->中小型环境
  • saltstack:语言开发:Python-->一般需部署agent(客户端),执行效率更高
  • puppet:语言开发:ruby-->功能强大,配置复杂,重型,适合大型环境
  • fabric:语言开发:python-->agentless
  • chef:语言开发:ruby-->国内应用很少
  • cfengine
  • func

解释说明:
主控端:
被控端:代理(安装agent客户端/代理程序), 无代理(利用SSH服务)
(1)agentless(无客户端/无代理)
同时因为SSH是每台Linux主机系统必装的软件,所以Ansible无需在远程主机端安装任何额外进程,即可实现Agentless(无客户端),进而助力其实现去中心化的思想,基于ssh性能也会略低一些,适合中小环境
(1.1)ansible也支持agent的方式,即所谓的“pull”的模式,就是通过一个客户端去拉取要执行的任务

(2)agent(客户端)
saltstack必须在客户端安装代理才可以控制被控端,虽然部署agent会麻烦,但是功能上也会更强大一些,性能也会高很多,适合大型环境

ansible发展史

  • ansible
  1. 创始人,michael DeHaan(cobbler与func的作者)
  2. 2012-03-09,发布0.0.1版本,被红帽收购
  3. 2015-10-17,Redhat宣布收购

ansible软件介绍

(1)Ansible是一个部署一群远程主机的工具。这里“远程主机(Remote Host)”是指任何可以通过SSH登录的主机,所以它既可以是远程虚拟机或物理机,也可以是本地主机。
Ansible通过SSH协议实现管理节点与远程节点之间的通信。理论上来说,只要能通过SSH登录到远程主机来完成的操作,都可以通过Ansible实现批量自动化操作。

(2)涉及命令管理操作:复制文件,安装服务,启动管理服务等等.

(3)利用ssh方式和ansible的区别
ssh秘钥+脚本 简单实用,看起来比较LOW,需要人工写脚本,类似inotify。
ansible有配置文件,可以多线程直接实现。不需要写脚本,类似sersync。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容