原文地址:jimmysong.io/posts/kuber…html
去年我写了Kubernetes与云原生2017年年终总结及2018年展望,按照惯例也应该推出2018年的总结和2019年的展望了,写这篇文章的时候已是2019年的1月末了,若是不写点什么回顾下2018年总以为这一年过的不完整。git
本文将回顾 Kubernetes 与云原生在2018年的进展,能够说2018年是 Kubernetes 大规模落地,Service Mesh 蓄势待发的一年。github
首先我先带你们回顾下2017年时我对2018年的预测。2017年末我预测2018年的Kubernetes和云原生将向如下方向发展:服务器
服务网格(Service Mesh),在Kubernetes上践行微服务架构进行服务治理所必须的组件;架构
无服务器架构(Serverless),以FaaS为表明的无服务器架构将会流行开来;app
增强数据服务承载能力,例如在Kubernetes上运行大数据应用;less
简化应用部署与运维包括云应用的监控与日志收集分析等;运维
下面我来分别总结下以上四点预测:机器学习
其中服务网格(Service Mesh)是我2018年一直在大力主张和推广的,并创立了ServiceMesher社区,业界已经对服务网格有了普遍的认知,其在微服务和分布式架构领域将有广阔的前景,2018年7月31日Istio发布1.0,预示着服务网格即将走向成熟;分布式
无服务器架构的理念提出已久但仍需找到合适的应用场景来大面积铺开,2018年Google、Pivotal等公司新开源的knative更加弱化了底层平台的差别,开发者直接定义服务,应用自动打包和部署;
关于Kubernetes承载大数据计算,已经有不少公司应用它来运行大数据应用,还有一些创业公司提供基于Kubernetes的异构计算平台,在大企业内部也有使用Kubernetes来统一大数据、机器学习、人工智能等平台的需求,大数据行业领先的两家公司Cloudera与Hortonworks的合并势必也会在云原生领域发力;
随着愈来愈多的公司选择Kubernetes做为底层的基础设施平台,Kubernetes周边的生态愈来愈完善,围绕发布部署、监控和APM相关的SaaS类应用层出不穷;
2018年至今按照时间顺序,CNCF中毕业的项目有:
2018年3月:Kubernetes 毕业
2018年8月,Prometheus 毕业
2018年11月,Envoy 毕业
2019年1月,CoreDNS 毕业
截至本文发稿,已有4个项目毕业,2019将会有更多的项目走向成熟。CNCF 托管的所有项目状态请见:www.cncf.io/projects-gr…。
2018年3月Kubernetes通过CNCF基金会的投票正式毕业,这意味着它拥有足够多的提交者和贡献人员,并被业界普遍的采纳,已经能够依靠社区的维护健康的发展。关于CNCF项目的毕业标准的详情请参考CNCF Graduation Criteria v1.1。
一年里按计划发布了4个版本,详见如下更新日志:
早在2017年的北美 KubeCon 上就有一种论调说 Kubernetes 正变得 boring,由于它已经愈来愈成熟,在将来不会出现大的变更,从以上更新日志中也能够看到,大可能是一些功能进入 beta 或者 stable 状态,不多有新的功能出现。
下图是 Google trend 中过去一年来全球搜索 Kubernetes 的趋势图。
从图中能够看出 Kubernetes 在全球搜索趋势在2018年末已经达到了最巅峰,2019年可能会开始走降低趋势。
下图是最近5年来 Kubernetes 关键词的百度指数。
上图来自百度指数,能够大致归纳 Kubernetes 关键字在中国的搜索状况,同 Kubernetes 在全球的搜索状况同样,可能已通过了巅峰期。
以 Kubernetes 为核心来运维上层应用,诞生了一种名为”Kubernetes Native“的新型运维方式,真正践行 DevOps 理念的产物,开发者将于软件的运维逻辑写成代码,利用 Kubernetes 的控制器模式(Controller Pattern)和 CRD 来扩展 Kubernetes 的 API,各类 Operator 层出不穷,awesome-operators 列举了目前全部的 Operator。例如咱们熟悉的 Istio 中就有50个 CRD。
CNCF 生态中的诸多应用都已支持 Kubernetes Operator,能够说 Operator 将成为云原生中默认的软件动态运行时管理工具,参考 CoreOS(已被 RedHat 收购,RedHat 已被 IBM 收购) CTO Brandon Philips 的这篇文章 Introducing the Operator Framework: Building Apps on Kubernetes。
既然 Kubernetes 已经开始变得无聊,2018年落地 Kubernetes 已经不是初创公司的事情了,不少大公司甚至传统企业都开始试水或者大规模落地,在 Kubernetes 进一步成熟之时,以 Kubernetes 为基础向上发展,开辟新的战场就能收获更多的业务场景和需求。
Kubernetes 并不直接对外提供业务能力,而是做为应用运行的底层平台,在应用和平台间还有一个 Gap,这须要中间件的能力来补充。
2018年5月,ServiceMesher 社区由蚂蚁金服发起成立。
2018年5月30日,Envoy最新官方文档中文版发布——由Service Mesh爱好者倾情奉献。
2018年6月21日,启用新的社区logo。
2018年6月30日,开启新域名servicemesher.com。
2018年6月30日,举办了第一届 Service Mesh Meetup 杭州站,见ServiceMesher杭州Meetup圆满完成。
2018年7月,ServiceMesher 社区成为 Istio 社区中国合做伙伴。
2018年7月29日,举办了第二届 Service Mesh Meetup 北京站,见第二届Service Mesh Meetup北京站回顾、视频回放和资料下载。
2018年8月25日,举办了第三届 Service Mesh Meetup 深圳站,见Service Mesh Meetup深圳站回顾、视频回放及PPT资料分享。
2018年9月19日,开始了开源电子书 istio-handbook 的创做。
2018年11月13日,ServiceMesher社区成员聚首KubeCon&CloudNativeCon上海。
2018年11月25日,举办了第四届 Service Mesh Meetup 上海站,见第四届 Service Mesh Meetup 上海站活动回顾与资料下载。
2019年1月6日,举办了第五届 Service Mesh Meetup 广州站,见第五届 Service Mesh Meetup 广州站活动回顾与资料下载。
这一年 ServiceMesher 社区为你们带来5次 Meetup 共 20 次 Topic 分享:
敖小剑(蚂蚁金服):大规模微服务架构下的 Service Mesh 探索之路
刘超(网易):网易云的 Service Mesh 产品架构和实现
唐鹏程(才云科技):在 Kubernetes 上搭建高可用 Service Mesh 监控
徐运元(谐云科技):Service Mesh 结合容器云平台的思考与实践
张亮(京东金融数据研发负责人):Service Mesh的延伸 —— 论道Database Mesh
吴晟(Apache SkyWalking创始人):Observability on Service Mesh —— Apache SkyWalking 6.0
朵晓东(蚂蚁金服,高级技术专家):蚂蚁金服开源的Service Mesh数据平面SOFA MOSN深层揭秘
丁振凯(新浪微博,微博搜索架构师):微博Service Mesh实践 - WeiboMesh
张超盟(华为):Kubernetes容器应用基于Istio的灰度发布实践
朱经惠 (联邦车网):Istio控制平面组件原理解析
邵俊雄(蚂蚁金服):SOFAMesh 的通用协议扩展
杨文(JEX):Kubernetes、Service Mesh、CI/CD 实践
吴晟(Apache SkyWalking 创始人):Observability and Istio telemetry
敖小剑&张瑜标(蚂蚁金服):蚂蚁金服 Service Mesh 渐进式迁移方案
徐运元(谐云科技):探讨和实践基于Isito的微服务治理事件监控
冯玮(七牛容器云平台产品架构师):Envoy、Contour与Kubernetes实践
郑德惠(惟品会Java资深开发工程师):惟品会的Service Mesh 实践与分享
陈逸凡(蚂蚁金服):SOFAMosn 持续演进路径及实践案例
崔秀龙(HPE 软件分析师):在网格的边缘试探——企业 Istio 试水指南
宋净超(蚂蚁金服):Service Mesh 圆桌讨论
咱们再看 CNCF 的 Landscape,其中右下部分有一个单列的 Serverless 单元,详见 landscape.cncf.io/。
咱们再看下 Kubernetes、Service Mesh、Istio 三者之间的关系:
Kubernetes 负责应用的生命周期管理,最小的治理单元是 Pod;
Service Mesh 解决服务间的流量治理,最小的治理单元是 Service(能够类比为 Kubernetes 中 Service 资源);
而 Serviceless 是更高一层的抽象,最小的治理单元是 APP;
越向上层就越不关心应用的底层实现,到了 Serverless 开发者只须要关心代码逻辑,其余的一块儿都是配置,所以 Google 联合 Pivotal 等其余公司于2018年7月建立了 knative 这个基于 Kubernetes 和 Istio 的 Serverless 的开源项目。
一个繁荣的生态将有大量的开发者支持,有开发者的地方就会有出版物。2018年至本文发稿关于 Kubernetes 和云原生的中文出版物(译做或原著),根据出版时间排序以下:
2018年3月:《天天5分钟玩转Kubernetes》,CloudMan 著
2018年7月:《Python 云原生——构建应对海量用户数据的高可扩展 Web 应用》,Manish Sathi著,宋净超 译
2018年7月:《云原生 Java——Spring Boot、Spring Cloud 与 Cloud Foundry 弹性系统设计》,Josh Long & Kenny Bastani著,张若飞 宋净超 译
2018年9月:《云原生基础架构:构建和管理现代可扩展基础架构的模式及实践》,Justin Garrision & Kris Nova著,孙杰、肖力 译
2018年10月:《Kubernetes经典实例》,Sébastien Goasguen & Michael Hausenblas 著,马晶慧 译
2018年11月:《云原生分布式存储基石:etcd深刻解析》,华为容器服务团队 杜军 等著
2018年12月:《Kubernetes即学即用》,Kelsey Hightower & Brendan Burns & Joe Beda 著,韩波 译
2018年12月:《Kubernetes 进阶实战》,马永亮 著
注:以上仅列举了2018年至本文发稿时已上市发售的书籍,并不表明本人立场推荐以上书籍。
预告:2019年2月,《将来架构——从服务化到云原生》张亮 吴晟 敖小剑 宋净超 著即将上市。
另外还有不少线上、线下的 Kubernetes 实训课程、电子出版物不胜枚举,例如极客时间出品的深刻剖析 Kubernetes。
2019年才开始学 Kubernetes 依然不晚,这多是影响云计算将来10年的技术,甚至有人预测,将来的开发者可能一上手就是在云上开发,从提交代码、测试到发布一鼓作气,直接基于 Git 操做便可完成,彻底感觉不到 Kubernetes 的存在。展望2019年,我在2017年的预测的趋势依然不变,2019年将更加深化。若是以 Kubernetes 的发展阶段类比,就像2017年时的 Kubernetes 同样,在一部分企业中 Service Mesh 已经开始快速落地,而 Knative 更像 2015 年时的 Kubernetes,一块儿才刚刚开始,毕竟也是 2018 年中才开源。
2018年11月 CNCF 在上海举办了第一届中国 KubeCon + CloudNativeCon,2019年6月大会将升级为 KubeCon + CloudNativeCon + Open Source Summit,将进一步推送中国的开源发展与云原生的应用,查看大会详情。
本文归档到 kubernetes-handbook,更新以 Handbook 为准。