• Kubernetes诞生及历史


    容器的繁荣

      随着互联网行业的欣欣向荣,集所有功能于一身的单体应用完全无法满足如今互联网超高并发和超大规模用户的现状,分布式解决方案也让咱们传统的单体应用更趋向于模块化。把单体应用拆成多个业务相对独立的模块化应用的过程即是微服务化。而容器天然对微服务友好,也造就了现在容器的繁荣。京东618运行着15万个docker实例。

    Kubernetes诞生

      随着docker在容器技术站稳脚跟,并在多个场合挑战了其它玩家的切身利益,比如谷歌、redhat、coreOs、微软等。google在docker项目刚兴起就祭出一剑:把内部生产验证的容器mctfy(Let Me Container That For You)开源。而这货面对docker的强势崛起,毫无招架之力。docker在容器界具有绝对的权威和话语权。google 也学会了咱们财大气粗的麻化T先生的那招:干不赢就买。于是开出高价给docker,docker的技术boss也是联合创始人Solomon Hykes估计也是个理想主义者,对这橄榄枝置之不理。“对,我就这么心高气傲。”

      google很无奈,所以这次,Google、RedHat 等开源基础设施领域玩家们,共同牵头发起了一个名为 CNCF(Cloud Native Computing Foundation)的基金会。把google内部最最底层也是最核心的Borg拿出来开源了。

      其实,这里谈点个人感受:米国人,特别是米国的软件人,对于技术的执着与信仰非常的纯粹,在任何神仙打架、百家争鸣的时代,都能够坚守“技术至上”的原则化解或者统一矛盾。在纯粹的技术面前,商业利益就显得微不足道了(当然,Oracle除外,哈哈)。

      Borg是google最核心最底层的技术,托管给CNCF基金会,即是Kubernetes。

      Docker发布了 Docker Compose、Swarm 和 Machine“三件套”后,在云化容器编排和集群技术解决方案无人撼动。Docker项目的边界基本上扩大到完证的PaaS的范畴了。但这种变更带来的技术复杂度和维护难度,长远来看对 Docker 项目是不利的。而 Kubernetes 的应对策略则是反其道而行之,开始在整个社区推进“民主化”架构,即:从 API 到容器运行时的每一层,Kubernetes 项目都为开发者暴露出了可以扩展的插件机制,鼓励用户通过代码的方式介入 Kubernetes 项目的每一个阶段。就这样,在这种鼓励二次创新的整体氛围当中,Kubernetes 社区在 2016 年之后得到了空前的发展。更重要的是,不同于之前局限于“打包、发布”这样的 PaaS 化路线,这一次容器社区的繁荣,是一次完全以 Kubernetes 项目为核心的“百家争鸣”。

      所以,从 2017 年开始,Docker 公司先是将 Docker 项目的容器运行时部分 Containerd 捐赠给 CNCF 社区,标志着 Docker 项目已经全面升级成为一个 PaaS 平台;紧接着,Docker 公司宣布将 Docker 项目改名为 Moby,然后交给社区自行维护,而 Docker 公司的商业产品将占有 Docker 这个注册商标。

      Docker 公司这些举措背后的含义非常明确:它将全面放弃在开源社区同 Kubernetes 生态的竞争,转而专注于自己的商业业务,并且通过将 Docker 项目改名为 Moby 的举动,将原本属于 Docker 社区的用户转化成了自己的客户。

      2017 年 10 月,Docker 公司出人意料地宣布,将在自己的主打产品 Docker 企业版中内置 Kubernetes 项目,这标志着持续了近两年之久的“编排之争”至此落下帷幕。

      2018 年 1 月 30 日,RedHat 宣布斥资 2.5 亿美元收购 CoreOS。2018 年 3 月 28 日,这一切纷争的始作俑者,Docker 公司的 CTO Solomon Hykes 宣布辞职,曾经纷纷扰扰的容器技术圈子,到此尘埃落定。

    参考链接

      https://time.geekbang.org/column/article/14406

    目录

      https://www.cnblogs.com/lioa/p/12620137.html

  • 相关阅读:
    学习之路总结
    一个怀旧的人
    struts2+ibatis+spring框架整合(一)
    大雪来的不知所措
    struts2+ibatis+spring框架整合(二)
    20110610上午java考试复数题
    直到永远……
    2012年10月份考试后感
    Use sp_MSForEachDB instead of your own loop
    Execute TSQL using OpenRowSet
  • 原文地址:https://www.cnblogs.com/lioa/p/12624601.html
Copyright © 2020-2023  润新知