Docker容器生态之争中的炮灰(上)

话说天下大势,分久必合,合久必分。周末七国分争,并入于秦。及秦灭之后,楚、汉分争,又并入于汉。汉朝自高祖斩白蛇而起义,一统天下,后来光武中兴,传至献帝,遂分为三国。

上了度娘引经据典展示了本人渊博的学识之后,再次回归挨踢狗的正身…

Docker容器生态之争中的“三国”就目前来看分为互联网大佬Google领衔的Kubernetes,Apache开源基金会扶持的Mesos和Docker超新星原生的Swarm。

作为一名初入Docker容器界还不到三年的菜鸟,想要入门这些闻所未闻的高大上技术的第一步总是盲目的。我想很多人或曾经或现在的跟我一样,到底哪个最牛逼?到底学哪个才好?

随后查资料,听分享,群交流,问大拿…斩获无数有价值的信息,但由于这些信息都太有价值,结果还是不知道到底哪个好。特别是在没有实际项目驱动的自学情景下,我活像个国内外各大容器云提供商布道过程中的一枚炮灰…哦,不对,是一粒炮灰。

时间慢慢过,彷徨失措的内心总有沉寂下来明确方向的一天。以下是我个人的一些想法,希望能够有人入坑:

Kubernetes的狂拽炫酷屌炸天我并不知道,因为到现在也没有初步学习过,但是有Google这个名头,那就一定会是狂拽炫酷屌炸天。但是,个人感觉上手太难,试问我在连docker run后面的参数都没全弄明白的情况下,如何再去接触一个跟docker命令或者配置有着一定差异的Kubernetes?所以,学肯定要学,但现在还不是时候。

Mesos的定位大而全——DCOS,由于本人资质愚钝,到现在也不知道DCOS到底是个啥。但是想想,我想要学习的是容器编排的工具,DCOS的定位会不会太大?万一哪天人家重心不放在容器编排了,那该怎么办?而且还有个什么马拉松的要去接触。全马得42.195公里…光想想都觉得难,不适合我这种懒人,果断放弃。

Swarm,最终只剩下这位兄弟了。但是作为一名对技术宁缺毋滥的节操搬砖人员,如果是个烂玩意宁可不学也罢。接触之后发现Swarm还比较简单且容易上手,功能也不赖,跟Docker Engine本身的一些命令或调用也比较容易过渡。关键是,Swarm是Docker亲儿子啊!于是,就决定先从Swarm开始着手了,毕竟Docker这一波浪潮,还是得跟上去的。

磕磕绊绊,当搭建了第一个swarm+etcd集群时的心情是鸡冻的,以致于一条命令在两台Docker宿主机(虚拟机)上面跑了20多个RancherVM管理的容器虚拟机。是的,你没看错,就是虚拟机里面跑容器,然后到跑的容器里面再跑虚拟机那种方式。

结果可想而知,因为多重嵌套的I/O问题导致Docker Engine在多个VM同时有读写操作的时候直接挂掉,那可是万能的重启大法都不管用的挂掉啊!不过这并没有什么关系,这并非是Swarm的问题,而是我这颗猪脑子的问题。挖坑把自己埋了之后,更加坚定了跟Swarm一起走下去的决心。

这一走就不得了,前好长一段时间出现了一篇Swarm性能秒杀Kubernetes的评测文章。当时的我是鸡冻的,看来机制的我并没有选错,连老大哥的编排工具都被“干”了。但是在现在看来,这篇文章估计也是生态之争到达一个阶段的产物…

随后发现Docker的野心之大,大到不可想象。要开源我的东西没有问题,要统一游戏规则我也没话说,但是我要牢牢把握住生态。所以Docker在前段时间推出了Swarm Kit,并将这个玩意儿集成到了Docker Engine 1.12之中。这一集成可不得了,原生内置支持编排,无需外界任何辅助,集群模式开箱即用,看样子Docker这是准备Carry全场的节奏?

识时务者为俊杰,于是小炮灰又开始了Swarm Mode的学习…恰逢久仰的Shit叔叔在Pycon2016上偷学到了在Swarm Mode集群环境部署运维Docker币的全套功法,随之便糖衣炮弹好酒好肉招待,诚心邀请在本人的订阅号发几篇高质量的Docker Swarm Mode集群实战文章,也好为自己寒酸的订阅号攒攒人气。

到这里,一切都是那么的美好,直到…

K8S中文社区微信公众号
分享到:更多 ()

评论 抢沙发

评论前必须登录!