2019年6月月 发布的文章

钢铁侠传

托尼早孤,锐志好学。其父霍华德在时,尝以其寄庠序,尼不知其父有志于国,谓其漠己。公论曰,愈恶一人愈如其人。尼既弱冠,尽能袭承父业。造钛金甲胄匿其内,千里不留行,显达一时,见用于兵部。尝有一姝,别号小辣椒,其德婉贞、淑贤。诗经有言,何彼浓矣,华若桃李,庶几谓之。二人相知,卿卿我我,尼既知世间有爱,遂宥其父,誓曰,孰弑吾亲,必手刃之。
尝有路人问之,人其谓汝“夺命奸贾”,汝如何言?尼对曰,吾制铠仗弓弩,皆为治道,以暴易暴,尔等知否?殄灭苍生,吾耻为之。然觇视诸侯征战,其铠仗致天下流血漂橹,遂戢械以止战,不言兵戎。其叔父欧比僭越,尼忍痛戮之。后为匪所劫,用匪之械,缮为机甲,遂称钢铁侠。且寤之曰,侠之大者,为国为民。与诸天神地祇人间雄杰合盟,名曰复联。联雷神,破洛基,平奥创,寰宇震栗。
先是,悍匪九头蛇以尼父尝与合纵败其主纳粹,悬购天下,以刺客巴基刺之,尼双亲皆亡。此巴基者,尝于二战被执,匪以机巧之术俾其超能,且盲信匪言。后复联征讨仇讎,延及无辜。毙者亲众有泽莫男爵衔之因尼欲知其父死状巧构名辩诓尼如九头蛇穴名曰邀击巴基。尼与巴基战于西伯利亚,巴基挚友美队援巴基。此美队,号罗杰斯,美利坚国雄杰,亦以绝版血清于躯,骨骼奇绝,以其不死之力,是以于复联有威名。其阅六纪而生,盖知尼父死因。然与巴基尝为同袍,知其为匪所挟,刺尼父非己愿,遂协力拒尼。尼惑之,以其忤己,颇生怨望,战之愈疾。方美队利盾碎尼机甲,尼恨曰,还吾父造之盾,汝德不配此盾。
既战,复联反目。会奥丁、伊戈二天神死于非命,寰宇灭霸因之撷取无限宝石者六。复联崩坼久之,虽兄弟阋墙,外御其侮,然战力难以望其项背。灭霸弹指之间,寰宇半数生灵灰飞烟灭。灭霸尝以生灵众多,寰宇难堪重负,此战遂其心愿,遂隐居。其时,尼于泰坦周旋,其亦徒亦友之蜘蛛侠,魂飞于尼怀,尼始知瓦坎达败绩。尼睹其求生之状,怅然无助。
尼与余众昏然于世,小辣椒为其育一女,夫妻相敬如宾,举案齐眉。适蚁人自量子空间复归,睹地球人众离散,悲之。遂与美队诣尼所,进时空穿越说。尼拒之,然心未已,且于几案睹其弟子画像,遽言“彼乎童子,吾将护之”,遂造时空穿越之械,复联余众影从,不复掣肘。穿蜗旋,逾虫洞,于平行空间复取宝石。尼见其生父,其父曰,吾愿为吾子赴汤蹈火,尼始知父爱。不虞灭霸伺间复回,以其众清剿复联,欲寻宝石复其命。尼以机甲手套召既覆之灵魂,复联聚首,勠力同心,且有惊奇队长佐力。奈何灭霸寰宇枭雄,复联之众皆被重创。岌岌之际,间不容发,尼用其械,重组宝石,瞋目怒曰,吾乃钢铁侠。遂倾其意念,力扣响指,但见灭霸及其众已成灰烬。尼耗尽气力,竟卒。
余论曰,余睹托尼,每执夜光杯酒,被绮绣,烨然若神人。其欣然之笑,固恣情纨绔之士;既被机甲,则令吾众肃然。复观其张扬之容,吾已涕泗皆下。及死之日,天下无老幼智愚,知与不知,皆为尽哀。念其“彼乎童子,吾将护之”一言,则吾欣慰;然其护童子,护复联,护苍生,未其护己也。悲哉!壮哉!

ansible

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
无论是KVM还是Xen在 docker 看来,都在浪费资源,因为用户需要的是高效运行环境而非OS, GuestOS既浪费资源又难于管理, 更加轻量级的LXC更加灵活和快速。
面对上述几个问题,docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后一个标准化组件是用户的app)。这也就是基于docker的PaaS产品的原型。
在docker的网站上提到了docker的典型场景:
Automating the packaging and deployment of applications(使应用的打包与部署自动化)
Creation of lightweight, private PAAS environments(创建轻量、私密的PAAS环境)
Automated testing and continuous integration/deployment(实现自动化测试和持续的集成/部署)
Deploying and scaling web apps, databases and backend services(部署与扩展webapp、数据库和后台服务)
Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
网络管理相对简单,主要是基于namespace隔离
cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
Docker对disk的管理比较有限
container随着用户进程的停止而销毁,container中的log等用户数据不便收集
针对1-2,有windows base应用的需求的基本可以pass了; 3-5主要是看用户的需求,到底是需要一个container还是一个VM, 同时也决定了docker作为 IaaS 不太可行。
针对6,7虽然是docker本身不支持的功能,但是可以通过其他手段解决(disk quota, mount –bind)。总之,选用container还是vm, 就是在隔离性和资源复用性上做权衡。
另外即便docker 0.7能够支持非AUFS的文件系统,但是由于其功能还不稳定,商业应用或许会存在问题,而AUFS的稳定版需要kernel 3.8, 所以如果想复制dotcloud的成功案例,可能需要考虑升级kernel或者换用ubuntu的server版本(后者提供deb更新)。这也是为什么开源界更倾向于支持ubuntu的原因(kernel版本)