pull/442/head
Jimmy Song 2021-04-08 18:18:48 +08:00
parent fcbf019d74
commit ac20e1c5f2
No known key found for this signature in database
GPG Key ID: CBA666E6EF8B2C3A
2 changed files with 92 additions and 120 deletions

View File

@ -1,114 +1,114 @@
# Kubernetes与云原生2017年年终总结及2018年展望 # Kubernetes 与云原生 2017 年年终总结及 2018 年展望
本文主要关于Kubernetes及云原生生态圈在2017年取得的进展及对2018年的展望。 本文主要关于 Kubernetes 及云原生生态圈在 2017 年取得的进展,及对 2018 年的展望。
云计算技术发展至今已经10多个年头了从最开始的硬件虚拟化、IaaS、OpenStack、PaaS、容器设置到Serverless发展至今已经越来约接近应用逻辑容器实现了应用的分装方便了应用在不同环境间的迁移轻量级的特性又使它能够消耗更少的资源而带来更多的便利但是独木难支容器如果在单节点上运行并不能发挥它的最大效益容器编排领域在2016年就成为了兵家必争之地。在新的一年即将到来时本文将带您一起梳理2017年Kubernetes及云原生的发展并对其在2018年的趋势作出预测。 云计算技术发展至今已经 10 多个年头了从最开始的硬件虚拟化、IaaS、OpenStack、PaaS、容器设置到 Serverless 发展至今,已经越来约接近应用逻辑,容器实现了应用的分装,方便了应用在不同环境间的迁移,轻量级的特性又使它能够消耗更少的资源而带来更多的便利,但是独木难支,容器如果在单节点上运行并不能发挥它的最大效益,容器编排领域在 2016 年就成为了兵家必争之地。在新的一年即将到来时,本文将带您一起梳理 2017 Kubernetes 及云原生的发展,并对其在 2018 年的趋势作出预测。
## Kubernetes ## Kubernetes
谈到[Kuberentes](https://kubernetes.io)就不得不谈到容器容器从几年前的大热到现在的归于平淡之前大家说容器通常是指Docker容器甚至很多人就将容器等同于Docker还有很多人像操作虚拟机一样得使用容器。 谈到 [Kuberentes](https://kubernetes.io/) 就不得不谈到容器,容器从几年前的大热到现在的归于平淡,之前大家说容器通常是指 Docker 容器,甚至很多人就将容器等同于 Docker还有很多人像操作虚拟机一样得使用容器。
Kubernetes是谷歌根据其内部使用的Borg改造成一个通用的容器编排调度器于2014年将其发布到开源社区并于2015年将其捐赠给Linux基金会的下属的[云原生计算基金会CNCF](https://cncf.io)也是GIFEEGoogle Infrastructure For Everyone Else中的一员其他还包括HDFS、Hbase、Zookeeper等<https://github.com/GIFEE/GIFEE>下面就让我们来回顾一下Kubernetes的技术发展史。 Kubernetes 是谷歌根据其内部使用的 Borg 改造成一个通用的容器编排调度器,于 2014 年将其发布到开源社区,并于 2015 年将其捐赠给 Linux 基金会的下属的[云原生计算基金会CNCF](https://cncf.io/),也是 GIFEEGoogle Infrastructure For Everyone Else中的一员其他还包括 HDFS、Hbase、Zookeeper 等,见 https://github.com/GIFEE/GIFEE下面就让我们来回顾一下 Kubernetes 的技术发展史。
### Kubernetes发展历史 ### Kubernetes 发展历史
相信凡是关注容器生态圈的人都不会否认Kubernetes已经成为容器编排调度的实际标准不论Docker官方还是Mesos都已经支持KubernetesDocker公司在今年10月16日至19日举办的DockerCon EU 2017大会上宣布支持Kubernetes调度就在这不久前Mesos的商业化公司Mesosphere的CTO Tobi Knaup也在官方博客中宣布Kubernetes on DC/OS。而回想下2016年时我们还在为Swarm、Mesos、Kubernetes谁能够在容器编排调度大战中胜出而猜测时而经过不到一年的发展Kubernetes就以超过70%的市场占有率(据[TheNewStack](https://www.thenewstack.io)的调研报告将另外两者遥遥的甩在了身后其已经在大量的企业中落地还有一些重量级的客户也宣布将服务迁移到Kubernetes上比如GitHub见[Kubernetes at GitHub](https://githubengineering.com/kubernetes-at-github/)还有eBay、彭博社等。 相信凡是关注容器生态圈的人都不会否认Kubernetes 已经成为容器编排调度的实际标准,不论 Docker 官方还是 Mesos 都已经支持 KubernetesDocker 公司在今年 10 16 日至 19 日举办的 DockerCon EU 2017 大会上宣布支持 Kubernetes 调度,就在这不久前 Mesos 的商业化公司 Mesosphere CTO Tobi Knaup 也在官方博客中宣布 Kubernetes on DC/OS。而回想下 2016 年时,我们还在为 Swarm、Mesos、Kubernetes 谁能够在容器编排调度大战中胜出而猜测时而经过不到一年的发展Kubernetes 就以超过 70% 的市场占有率(据 [TheNewStack](https://www.thenewstack.io/) 的调研报告)将另外两者遥遥的甩在了身后,其已经在大量的企业中落地,还有一些重量级的客户也宣布将服务迁移到 Kubernetes 上,比如 GitHub [Kubernetes at GitHub](https://githubengineering.com/kubernetes-at-github/)),还有 eBay、彭博社等。
Kubernetes自2014年由Google开源以来至今已经发展到了1.9版本下面是Kubernetes的版本发布路线图 Kubernetes 2014 年由 Google 开源以来,至今已经发展到了 1.9 版本,下面是 Kubernetes 的版本发布路线图:
- 2014年10月由Google正式开源。 - 2014 10 月由 Google 正式开源。
- 2015年7月22日发布1.0版本在OSCON开源大会上发布了1.0版本。 - 2015 7 22 日发布 1.0 版本,在 OSCON开源大会上发布了 1.0 版本。
- 2015年11月16日发布1.1版本,性能提升,改进了工具并创建了日益强大的社区。 - 2015 11 16 日发布 1.1 版本,性能提升,改进了工具并创建了日益强大的社区。
- 2016年4月16日发布1.2版本,更多的性能升级加上简化应用程序部署和管理。 - 2016 4 16 日发布 1.2 版本,更多的性能升级加上简化应用程序部署和管理。
- 2016年7月22日发布1.3版本,对接了云原生和企业级工作负载。 - 2016 7 22 日发布 1.3 版本,对接了云原生和企业级工作负载。
- 2016年9月26日发布1.4版本该版本起Kubernetes开始支持不同的运行环境并使部署变得更容易。 - 2016 9 26 日发布 1.4 版本,该版本起 Kubernetes 开始支持不同的运行环境,并使部署变得更容易。
- 2016年12月13日发布1.5版本,该版本开始支持生产级别工作负载。 - 2016 12 13 日发布 1.5 版本,该版本开始支持生产级别工作负载。
- 2017年3月28日发布1.6版本,该版本支持多租户和在集群中自动化部署不同的负载。 - 2017 3 28 日发布 1.6 版本,该版本支持多租户和在集群中自动化部署不同的负载。
- 2017年6月29日发布1.7版本该版本的kubernetes在安全性、存储和可扩展性方面有了很大的提升。 - 2017 6 29 日发布 1.7 版本,该版本的 kubernetes 在安全性、存储和可扩展性方面有了很大的提升。
- 2017年9月28日发布1.8版本该版本中包括了一些功能改进和增强并增加了项目的成熟度将强了kubernetes的治理模式这些都将有利于kubernetes项目的持续发展。 - 2017 9 28 日发布 1.8 版本,该版本中包括了一些功能改进和增强,并增加了项目的成熟度,将强了 kubernetes 的治理模式,这些都将有利于 kubernetes 项目的持续发展。
- 2017年12月15日发布1.9版本该版本最大的改进是Apps Workloads API成为稳定版本这消除了很多潜在用户对于该功能稳定性的担忧。还有一个重大更新就是测试支持了Windows了这打开了在kubernetes中运行Windows工作负载的大门。 - 2017 12 15 日发布 1.9 版本,该版本最大的改进是 Apps Workloads API 成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧。还有一个重大更新,就是测试支持了 Windows 了,这打开了在 kubernetes 中运行 Windows 工作负载的大门。
从上面的时间线中我们可以看到Kubernetes的产品迭代周期越来越快从2014年开源2015年发布了两个版本2016年发布了三个版本而今年一年内就发布了4个大版本Kubernetes已经变了的越来越稳定越来越易用。 从上面的时间线中我们可以看到Kubernetes 的产品迭代周期越来越快,从 2014 年开源2015 年发布了两个版本2016 年发布了三个版本,而今年一年内就发布了 4 个大版本Kubernetes 已经变了的越来越稳定,越来越易用。
Kubernetes的架构做的足够开放通过系列的接口如CRIContainer Runtime Interface作为Kubelet与容器之间的通信接口、CNIContainer Networking Interface)来管理网络、而持久化存储通过各种Volume Plugin来实现同时Kubernetes的API本身也可以通过CRDCustom Resource Define来扩展还可以自己编写[Operator](https://coreos.com/operators/)和[Service Catalog](https://github.com/kubernetes-incubator/service-catalog)来基于Kubernetes实现更高级和复杂的功能。 Kubernetes 的架构做的足够开放,通过系列的接口,如 CRIContainer Runtime Interface作为 Kubelet 与容器之间的通信接口、CNIContainer Networking Interface) 来管理网络、而持久化存储通过各种 Volume Plugin 来实现,同时 Kubernetes API 本身也可以通过 CRDCustom Resource Define来扩展还可以自己编写 [Operator](https://coreos.com/operators/) [Service Catalog](https://github.com/kubernetes-incubator/service-catalog) 来基于 Kubernetes 实现更高级和复杂的功能。
## Cloud Native ## 云原生
在Kubernetes出现之前就已经有人提出了云原生的概念如2010年Paul Fremantle就在他的博客中提出了云原生的核心理念但是还没有切实的技术解决方案。而那时候PaaS才刚刚出现PaaS平台提供商Heroku提出了[12因素应用](http://12factor.net)的理念为构建SaaS应用提供了方法论该理念在云原生时代依然适用。 Kubernetes 出现之前,就已经有人提出了云原生的概念,如 2010 Paul Fremantle 就在他的博客中提出了云原生的核心理念,但是还没有切实的技术解决方案。而那时候 PaaS 才刚刚出现PaaS 平台提供商 Heroku 提出了 [12 因素应用](http://12factor.net/)的理念,为构建 SaaS 应用提供了方法论,该理念在云原生时代依然适用。
现如今云已经可以为我们提供稳定的可以唾手可得的基础设施但是业务上云成了一个难题Kubernetes的出现与其说是从最初的容器编排解决方案倒不如说是为了解决应用上云即云原生应用这个难题。[CNCF](https://cncf.io)中的托管的一系列项目即致力于云原生应用整个生命周期的管理从部署平台、日志收集、Service Mesh服务网格、服务发现、分布式追踪、监控以及安全等各个领域通过开源的软件为我们提供一揽子解决方案。 现如今云已经可以为我们提供稳定的可以唾手可得的基础设施但是业务上云成了一个难题Kubernetes 的出现与其说是从最初的容器编排解决方案,倒不如说是为了解决应用上云(即云原生应用)这个难题。[CNCF](https://cncf.io/) 中的托管的一系列项目即致力于云原生应用整个生命周期的管理从部署平台、日志收集、Service Mesh服务网格、服务发现、分布式追踪、监控以及安全等各个领域通过开源的软件为我们提供一揽子解决方案。
国外已经有众多的Kubernetes和Cloud Native meetup定期举办在中国今年可以说是小荷才露尖尖角。 国外已经有众多的 Kubernetes Cloud Native meetup 定期举办,在中国今年可以说是小荷才露尖尖角。
- 2017年6月19日-20日北京[L3大会](https://www.bagevent.com/event/561769)LinuxCon+ContainerCon+CloudOpen China。CNCFCloud Native Computing Foundation作为云原生应用的联合推广团体也是由Google一手培植起来的强大“市场媒体”Kubernetes是第一个入选该基金会的项目第一次进入中国华为、Google、Rancher、红帽等公司分别做了关于Kubernetes及Cloud Native的演讲。 - 2017 6 19 - 20 日,北京,[L3 大会](https://www.bagevent.com/event/561769)LinuxCon+ContainerCon+CloudOpen China。CNCFCloud Native Computing Foundation作为云原生应用的联合推广团体也是由 Google 一手培植起来的强大 “市场媒体”Kubernetes 是第一个入选该基金会的项目第一次进入中国华为、Google、Rancher、红帽等公司分别做了关于 Kubernetes Cloud Native 的演讲。
- 2017年7月25日北京、上海[k8smeetup](http://www.k8smeetup.com)Kubernetes二周年北京-上海 Meetup双城庆生。 - 2017 7 25 日,北京、上海,[k8smeetup](http://www.k8smeetup.com/)Kubernetes 二周年北京 - 上海 Meetup 双城庆生。
- 2017年9月12日北京[T11大会](https://www.talkingdata.com/activity/T11-2017/index.html)前Pivotal技术专家现CapitalOne高级专家Kevin Hoffman做了[High Level Cloud Native Concepts](https://jimmysong.io/posts/high-level-cloud-native-from-kevin-hoffman/)的演讲。 - 2017 9 12 日,北京,[T11 大会](https://www.talkingdata.com/activity/T11-2017/index.html),前 Pivotal 技术专家,现 CapitalOne 高级专家 Kevin Hoffman 做了 [High Level Cloud Native Concepts](https://jimmysong.io/posts/high-level-cloud-native-from-kevin-hoffman/) 的演讲。
- 2017年10月15日杭州[KEUC 2017- Kubernetes 中国用户大会](https://www.bagevent.com/event/827437)。由才云科技Caicloud、美国 The Linux Foundation 基金会旗下 Cloud Native Computing Foundation (CNCF)、「K8sMeetup 中国社区」联合主办的聚焦Kubernetes中国行业应用与技术落地的盛会。 - 2017 10 15 日,杭州,[KEUC 2017- Kubernetes 中国用户大会](https://www.bagevent.com/event/827437)。由才云科技Caicloud、美国 The Linux Foundation 基金会旗下 Cloud Native Computing Foundation (CNCF)、「K8sMeetup 中国社区」联合主办的聚焦 Kubernetes 中国行业应用与技术落地的盛会。
- 2017年12月13日-15日杭州[云原生技术大会——CNTC](https://www.huodongjia.com/event-5854212.html)。这次会议由谐云科技与网易云共同主办,主要探讨云原生技术与应用,同时还进行了云原生集训。 - 2017 12 13 - 15 日,杭州,[云原生技术大会 ——CNTC](https://www.huodongjia.com/event-5854212.html)。这次会议由谐云科技与网易云共同主办,主要探讨云原生技术与应用,同时还进行了云原生集训。
另外还有由才云科技分别在北京、上海、深圳、青岛等地举办了多场k8smeetup。 另外还有由才云科技分别在北京、上海、深圳、青岛等地举办了多场 k8smeetup。
### 容器是云原生的基石 ### 容器是云原生的基石
容器最初是通过开发者工具而流行可以使用它来做隔离的开发测试环境和持续集成环境这些都是因为容器轻量级易于配置和使用带来的优势docker和docker-compose这样的工具极大的方便的了应用开发环境的搭建同时基于容器的CI/CD工具如雨后春笋般出现。 容器最初是通过开发者工具而流行可以使用它来做隔离的开发测试环境和持续集成环境这些都是因为容器轻量级易于配置和使用带来的优势docker docker-compose 这样的工具极大的方便的了应用开发环境的搭建,同时基于容器的 CI/CD 工具如雨后春笋般出现。
隔离的环境、良好的可移植性、模块化的组件、易于扩展和轻量级的特性使得容器成为云原生的基石。但是容器不光是docker一种还有[cri-o](http://cri-o.io/)、[rkt](https://github.com/rkt/rkt)等支持OCI标准的容器以及OpenStack基金会推出的兼容容器标准的号称是轻量级虚拟机的[Kata Containers](https://katacontainers.io/)Kubernetes并不绑定到某一容器引擎而是支持所有满足OCI运行时标准的容器。 隔离的环境、良好的可移植性、模块化的组件、易于扩展和轻量级的特性,使得容器成为云原生的基石。但是容器不光是 docker 一种,还有 [cri-o](http://cri-o.io/)、[rkt](https://github.com/rkt/rkt) 等支持 OCI 标准的容器,以及 OpenStack 基金会推出的兼容容器标准的号称是轻量级虚拟机的 [Kata Containers](https://katacontainers.io/)Kubernetes 并不绑定到某一容器引擎,而是支持所有满足 OCI 运行时标准的容器。
### 下一代云计算标准 ### 下一代云计算标准
Google通过将云应用进行抽象简化出的Kubernetes中的各种概念对象如Pod、Deployment、Job、StatefulSet等形成了Cloud Native应用的通用的可移植的模型Kubernetes作为云应用的部署标准直接面向业务应用将大大提高云应用的可移植性解决云厂商锁定的问题让云应用可以在跨云之间无缝迁移甚至用来管理混合云成为企业IT云平台的新标准。 Google 通过将云应用进行抽象简化出的 Kubernetes 中的各种概念对象,如 Pod、Deployment、Job、StatefulSet 等,形成了 Cloud Native 应用的通用的可移植的模型Kubernetes 作为云应用的部署标准,直接面向业务应用,将大大提高云应用的可移植性,解决云厂商锁定的问题,让云应用可以在跨云之间无缝迁移,甚至用来管理混合云,成为企业 IT 云平台的新标准。
## 现状及影响 ## 现状及影响
Kubernetes既然是下一代云计算的标准那么它当前的现状如何距离全面落地还有存在什么问题 Kubernetes 既然是下一代云计算的标准,那么它当前的现状如何,距离全面落地还有存在什么问题?
### 当前存在的问题 ### 当前存在的问题
如果Kubernetes被企业大量采用将会是对企业IT价值的重塑IT将是影响业务速度和健壮性的中流砥柱但是对于Kubernetes真正落地还存在诸多问题 如果 Kubernetes 被企业大量采用,将会是对企业 IT 价值的重塑IT 将是影响业务速度和健壮性的中流砥柱,但是对于 Kubernetes 真正落地还存在诸多问题:
- 部署和运维起来复杂,需要有经过专业的培训才能掌握; - 部署和运维起来复杂,需要有经过专业的培训才能掌握;
- 企业的组织架构需要面向DevOps转型很多问题不是技术上的而是管理和心态上的 - 企业的组织架构需要面向 DevOps 转型,很多问题不是技术上的,而是管理和心态上的;
- 对于服务级别尤其是微服务的治理不足,暂没有一套切实可行可落地的完整微服务治理方案; - 对于服务级别尤其是微服务的治理不足,暂没有一套切实可行可落地的完整微服务治理方案;
- 对于上层应用的支持不够完善需要编写配置大量的YAML文件难于管理 - 对于上层应用的支持不够完善,需要编写配置大量的 YAML 文件,难于管理;
- 当前很多传统应用可能不适合迁移到Kuberentes或者是成本太高因此可以落地的项目不多影响推广 - 当前很多传统应用可能不适合迁移到 Kuberentes或者是成本太高因此可以落地的项目不多影响推广
以上这些问题是企业真正落地Kubernetes时将会遇到的比较棘手的问题针对这些问题Kubernetes社区早就心领神会有多个[SIG](https://github.com/kubernetes/kubernetes/wiki/Special-Interest-Groups-(SIGs))Special Interest Group专门负责不同领域的问题而初创公司和云厂商们也在虎视眈眈觊觎这份大蛋糕。 以上这些问题是企业真正落地 Kubernetes 时将会遇到的比较棘手的问题针对这些问题Kubernetes 社区早就心领神会有多个 [SIG](https://github.com/kubernetes/kubernetes/wiki/Special-Interest-Groups-(SIGs))Special Interest Group专门负责不同领域的问题而初创公司和云厂商们也在虎视眈眈觊觎这份大蛋糕。
### 日益强大的社区 ### 日益强大的社区
Kubernetes已成为GitHub上参与和讨论人数最多的开源项目在其官方Slack上有超过两万多名注册用户其中包括中文用户频道**cn-users**而整个Kubernetes中文用户群可达数千名之众。 Kubernetes 已成为 GitHub 上参与和讨论人数最多的开源项目,在其官方 Slack 上有超过两万多名注册用户(其中包括中文用户频道 **cn-users**),而整个 Kubernetes 中文用户群可达数千名之众。
目前关于Kubernetes和云原生图书也已经琳琳总总让人眼花缭乱。 目前关于 Kubernetes 和云原生图书也已经琳琳总总,让人眼花缭乱。
英文版的讲解Kubernetes的书籍有The Kubernetes Book、Kubernetes in Action、Kubernetes Microservices with Docker关于云原生架构的Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment等已发行和2018年即将发行的有十几本之多同时还有关于云原生开发的书籍也鳞次栉比如[Cloud Native Go](https://jimmysong.io/cloud-native-go)(这本书已经被翻译成中文,由电子工业出版社引进出版)、[Cloud Native Python](https://jimmysong.io/cloud-native-python)已由电子工业出版社引进预计2018年推出中文版Cloud Native Java等。 英文版的讲解 Kubernetes 的书籍有The Kubernetes Book、Kubernetes in Action、Kubernetes Microservices with Docker关于云原生架构的 Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment 等已发行和 2018 年即将发行的有十几本之多,同时还有关于云原生开发的书籍也鳞次栉比,如 [Cloud Native Go](https://jimmysong.io/cloud-native-go)(这本书已经被翻译成中文,由电子工业出版社引进出版)、[Cloud Native Python](https://jimmysong.io/cloud-native-python)(已由电子工业出版社引进,预计 2018 年推出中文版Cloud Native Java 等。
关于Kuberentes和云原生的中文版的书籍有《Kubernetes权威指南:从Docker到Kubernetes实践全接触》《Java云原生》预计2018年出版),还有一系列开源的电子书和教程,比如我写的[kubernetes-handbook](https://jimmysong.io/kubernetes-handbook)同时Kubernetes官方官网文档也即将推出完整的汉化版本该项目目前还在进行中见[kubernetes-docs-cn](https://github.com/kubernetes/kubernetes-docs-cn)。 关于 Kuberentes 和云原生的中文版的书籍有《Kubernetes 权威指南:从 Docker 到 Kubernetes 实践全接触》《Java 云原生》(预计 2018 年出版),还有一系列开源的电子书和教程,比如我写的 [kubernetes-handbook](https://jimmysong.io/kubernetes-handbook),同时 Kubernetes 官方官网文档也即将推出完整的汉化版本,该项目目前还在进行中,见 [kubernetes-docs-cn](https://github.com/kubernetes/kubernetes-docs-cn)。
另外除了图书和官方Slack外在中国还有很多厂商、社区、爱好者组织的meetup、微信群推广Kubernetes同时吸引了大量的用户关注和使用Kubernetes。 另外,除了图书和官方 Slack 外,在中国还有很多厂商、社区、爱好者组织的 meetup、微信群推广 Kubernetes同时吸引了大量的用户关注和使用 Kubernetes。
### 创业公司与厂商支持 ### 创业公司与厂商支持
国外的Google的GKE、微软的Azure ACS、AWS的[Fargate](https://aws.amazon.com/fargate/)和2018年即将推出的EKS、Rancher联合Ubuntu推出的RKE国内的华为云、腾讯云、阿里云等都已推出了公有云上的Kuberentes服务Kubernetes已经成为公有云的容器部署的标配私有云领域也有众多厂商在做基于Kubernetes的PaaS平台。随着企业落地Kubernetes的日益增长相关的人才缺口也将日益显现。CNCF又就此推出了CKACertified Kubernetes Administrator和CKDCertified Kubernetes Developer假若在Kubernetes的生态构建与市场发展顺利的情况下该证书将会展现其含金量。 国外的 Google GKE、微软的 Azure ACS、AWS [Fargate](https://aws.amazon.com/fargate/) 2018 年即将推出的 EKS、Rancher 联合 Ubuntu 推出的 RKE国内的华为云、腾讯云、阿里云等都已推出了公有云上的 Kuberentes 服务Kubernetes 已经成为公有云的容器部署的标配,私有云领域也有众多厂商在做基于 Kubernetes PaaS 平台。随着企业落地 Kubernetes 的日益增长相关的人才缺口也将日益显现。CNCF 又就此推出了 CKACertified Kubernetes Administrator CKDCertified Kubernetes Developer假若在 Kubernetes 的生态构建与市场发展顺利的情况下,该证书将会展现其含金量。
另外在国外还有一大批基于Kubernetes的创业公司如Kubernetes创始人之一Joe Beda创立了Heptio于今年9月获获得2500万美元B轮融资还有Platform9、Kismatic、Diamanti、Bitnami、CoreOS、Hypernetes、Weave、NavOps等他们中有的提供Kubernetes的技术咨询和培训有的专研某项具体技术还有一系列基于Kubernetes的自动化工具、监控厂商如雨后春笋般出现。 另外在国外还有一大批基于 Kubernetes 的创业公司,如 Kubernetes 创始人之一 Joe Beda 创立了 Heptio于今年 9 月获获得 2500 万美元 B 轮融资),还有 Platform9、Kismatic、Diamanti、Bitnami、CoreOS、Hypernetes、Weave、NavOps 等,他们中有的提供 Kubernetes 的技术咨询和培训,有的专研某项具体技术,还有一系列基于 Kubernetes 的自动化工具、监控厂商如雨后春笋般出现。
国内前几年诞生了多家容器创业公司例如DaoCloud、精灵云、时速云、数人云、灵雀云、有容云、好雨云、希云、才云、博云等这些厂商有的可能一开始不是基于Kubernetes作为容器编排调度引擎但是现在已经全部支持其中灵雀云于11月8日获得腾讯云领投的B轮融资。这些容器厂商全部涉及私有云业务主要对接金融、政府和电信行业帮助传统企业进行IT转型虽然很多厂商都生成支持Kubernetes但是在Kubernetes的易用性上还需要很多改进单纯基于容器部署应用已经无法满足企业的需求帮助企业上云、将传统应用改造以适应云的弹性与高效构建PaaS平台通过基于容器的基础调度平台运行大数据及AI应用成为创业公司的众矢之的对于特定行业的整体的解决方案将是国内的容器厂商的主要商业化方式。 国内前几年诞生了多家容器创业公司,例如 DaoCloud、精灵云、时速云、数人云、灵雀云、有容云、好雨云、希云、才云、博云等这些厂商有的可能一开始不是基于 Kubernetes 作为容器编排调度引擎,但是现在已经全部支持,其中灵雀云于 11 8 日获得腾讯云领投的 B 轮融资。这些容器厂商全部涉及私有云业务,主要对接金融、政府和电信行业,帮助传统企业进行 IT 转型,虽然很多厂商都生成支持 Kubernetes但是在 Kubernetes 的易用性上还需要很多改进,单纯基于容器部署应用已经无法满足企业的需求,帮助企业上云、将传统应用改造以适应云的弹性与高效,构建 PaaS 平台,通过基于容器的基础调度平台运行大数据及 AI 应用,成为创业公司的众矢之的,对于特定行业的整体的解决方案将是国内的容器厂商的主要商业化方式。
目前大部分容器云提供的产品大同小异从云平台管理、容器应用的生命周期管理、DevOps、微服务架构等这些大多是对原有应用的部署和资源申请流程的优化没有形成杀手级的平台级服务这些都是原来容器时代的产物。而容器云进化到高级阶段Cloud Native云原生容器技术将成为该平台的基础虽然大家都生成具有全面的功能但是厂商在推行容器技术时需要结合企业的具体应用场景下进行优化。 目前大部分容器云提供的产品大同小异从云平台管理、容器应用的生命周期管理、DevOps、微服务架构等这些大多是对原有应用的部署和资源申请流程的优化没有形成杀手级的平台级服务这些都是原来容器时代的产物。而容器云进化到高级阶段 Cloud Native云原生容器技术将成为该平台的基础虽然大家都生成具有全面的功能但是厂商在推行容器技术时需要结合企业的具体应用场景下进行优化。
## 2018年展望 ## 2018 年展望
2017年可以说是Cloud Native蓬勃发展和大发异彩之年Kuberentes在这一年中连续发布了4个版本从1.6到1.9[Containerd](https://github.com/containerd/containerd)、[Fluentd](https://github.com/fluent/fluentd/)、[CoreDNS](https://github.com/coredns/coredns)、[Jeager](https://github.com/jaegertracing/jaeger)分别发布自己的1.0版本。 2017 年可以说是 Cloud Native 蓬勃发展和大发异彩之年Kuberentes 在这一年中连续发布了 4 个版本,从 1.6 1.9[Containerd](https://github.com/containerd/containerd)、[Fluentd](https://github.com/fluent/fluentd/)、[CoreDNS](https://github.com/coredns/coredns)、[Jeager](https://github.com/jaegertracing/jaeger) 分别发布自己的 1.0 版本。
在今年12月的KubeCon&CloudNativeCon Austin会议上已经为2018年的云原生生态圈的发展确定几大关键词 在今年 12 月的 KubeCon&CloudNativeCon Austin 会议上,已经为 2018 年的云原生生态圈的发展确定几大关键词:
- 服务网格Service Mesh在Kubernetes上践行微服务架构进行服务治理所必须的组件 - 服务网格Service Mesh Kubernetes 上践行微服务架构进行服务治理所必须的组件;
- 无服务器架构Serverless以FaaS为代表的无服务器架构将会流行开来 - 无服务器架构Serverless FaaS 为代表的无服务器架构将会流行开来;
- 加强数据服务承载能力例如在Kubernetes上运行大数据应用 - 加强数据服务承载能力,例如在 Kubernetes 上运行大数据应用;
- 简化应用部署与运维包括云应用的监控与日志收集分析等; - 简化应用部署与运维包括云应用的监控与日志收集分析等;
这些功能是Kubernetes生态已有但是亟待加强的功能它们能够解决我们在上文中提到的当前生态中存在的问题。 这些功能是 Kubernetes 生态已有但是亟待加强的功能,它们能够解决我们在上文中提到的当前生态中存在的问题。
2018年的IaaS的运营商将主要提供基础架构服务如虚拟机、存储和数据库等传统的基础架构和服务仍然会使用现有的工具如Chef、Terraform、Ansible等来管理Kubernetes则可能直接运行在裸机上运行结合CI/CD成为DevOps的得力工具并成为高级开发人员的应用部署首选Kubernetes也将成为PaaS层的重要组成部分为开发者提供应用程序部署的简单方法但是开发者可能不会直接与Kubernetes或者PaaS交互实际的应用部署流程很可能落在自动化CI工具如Jenkins上。 2018 年的 IaaS 的运营商将主要提供基础架构服务,如虚拟机、存储和数据库等传统的基础架构和服务,仍然会使用现有的工具如 Chef、Terraform、Ansible 等来管理Kubernetes 则可能直接运行在裸机上运行,结合 CI/CD 成为 DevOps 的得力工具并成为高级开发人员的应用部署首选Kubernetes 也将成为 PaaS 层的重要组成部分,为开发者提供应用程序部署的简单方法,但是开发者可能不会直接与 Kubernetes 或者 PaaS 交互,实际的应用部署流程很可能落在自动化 CI 工具如 Jenkins 上。
2018年Kubernetes将更加稳定好用云原生将会出现更多的落地与最佳实践这都值得我们期待 2018 Kubernetes 将更加稳定好用,云原生将会出现更多的落地与最佳实践,这都值得我们期待!

View File

@ -1,48 +1,41 @@
# Kubernetes与云原生2018年年终总结及2019年展望 # Kubernetes 与云原生 2018 年年终总结及 2019 年展望
去年我写了[Kubernetes与云原生2017年年终总结及2018年展望](kubernetes-and-cloud-native-summary-in-2017-and-outlook-for-2018.md)按照惯例也应该推出2018年的总结和2019年的展望了写这篇文章的时候已经是2019年的1月末了如果不写点什么回顾下2018年总觉得这一年过的不完整。 去年我写了 [Kubernetes 与云原生 2017 年年终总结及 2018 年展望](kubernetes-and-cloud-native-summary-in-2017-and-outlook-for-2018.md),按照惯例也应该推出 2018 年的总结和 2019 年的展望了,写这篇文章的时候已经是 2019 年的 1 月末了,如果不写点什么回顾下 2018 年总觉得这一年过的不完整。
本文将回顾 Kubernetes 与云原生在2018年的进展可以说2018年是 Kubernetes 大规模落地Service Mesh 蓄势待发的一年。 本文将回顾 Kubernetes 与云原生在 2018 年的进展,可以说 2018 年是 Kubernetes 大规模落地Service Mesh 蓄势待发的一年。
## 2017年时对2018年的预测 ## 2017 年时对 2018 年的预测
首先我先带大家回顾下2017年时我对2018年的预测。2017年底我预测2018年的Kubernetes和云原生将向以下方向发展 首先我先带大家回顾下 2017 年时我对 2018 年的预测。2017 年底我预测 2018 年的 Kubernetes 和云原生将向以下方向发展:
- 服务网格Service Mesh在Kubernetes上践行微服务架构进行服务治理所必须的组件 - 服务网格Service Mesh Kubernetes 上践行微服务架构进行服务治理所必须的组件;
- 无服务器架构Serverless以FaaS为代表的无服务器架构将会流行开来 - 无服务器架构Serverless FaaS 为代表的无服务器架构将会流行开来;
- 加强数据服务承载能力例如在Kubernetes上运行大数据应用 - 加强数据服务承载能力,例如在 Kubernetes 上运行大数据应用;
- 简化应用部署与运维包括云应用的监控与日志收集分析等; - 简化应用部署与运维包括云应用的监控与日志收集分析等;
下面我来分别总结下以上四点预测: 下面我来分别总结下以上四点预测:
- 其中服务网格Service Mesh是我2018年一直在大力主张和推广的并创立了[ServiceMesher社区](http://www.servicemesher.com)业界已经对服务网格有了广泛的认知其在微服务和分布式架构领域将有广阔的前景2018年7月31日[Istio](https://istio.io)发布1.0,预示着服务网格即将走向成熟; - 其中服务网格Service Mesh是我 2018 年一直在大力主张和推广的,并创立了 [ServiceMesher 社区](https://www.servicemesher.com/)业界已经对服务网格有了广泛的认知其在微服务和分布式架构领域将有广阔的前景2018 7 31 [Istio](https://istio.io/) 发布 1.0,预示着服务网格即将走向成熟;
- 无服务器架构的理念提出已久但仍需找到合适的应用场景来大面积铺开2018年Google、Pivotal等公司新开源的[knative](https://github.com/knative)更加弱化了底层平台的差异,开发者直接定义服务,应用自动打包和部署; - 无服务器架构的理念提出已久但仍需找到合适的应用场景来大面积铺开2018 Google、Pivotal 等公司新开源的 [knative](https://github.com/knative) 更加弱化了底层平台的差异,开发者直接定义服务,应用自动打包和部署;
- 关于Kubernetes承载大数据计算已经有很多公司应用它来运行大数据应用还有一些创业公司提供基于Kubernetes的异构计算平台在大企业内部也有使用Kubernetes来统一大数据、机器学习、人工智能等平台的需求大数据行业领先的两家公司Cloudera与Hortonworks的合并势必也会在云原生领域发力 - 关于 Kubernetes 承载大数据计算,已经有很多公司应用它来运行大数据应用,还有一些创业公司提供基于 Kubernetes 的异构计算平台,在大企业内部也有使用 Kubernetes 来统一大数据、机器学习、人工智能等平台的需求,大数据行业领先的两家公司 Cloudera Hortonworks 的合并势必也会在云原生领域发力;
- 随着越来越多的公司选择Kubernetes作为底层的基础设施平台Kubernetes周边的生态越来越完善围绕发布部署、监控和APM相关的SaaS类应用层出不穷 - 随着越来越多的公司选择 Kubernetes 作为底层的基础设施平台Kubernetes 周边的生态越来越完善,围绕发布部署、监控和 APM 相关的 SaaS 类应用层出不穷;
## CNCF 的毕业项目 ## CNCF 的毕业项目
2018年至今按照时间顺序CNCF中毕业的项目有 2018 年至今按照时间顺序CNCF 中毕业的项目有:
- 2018年3月Kubernetes 毕业 - 2018 3 Kubernetes 毕业
- 2018年8月Prometheus 毕业 - 2018 8 Prometheus 毕业
- 2018年11月Envoy 毕业 - 2018 11 Envoy 毕业
- 2019年1月CoreDNS 毕业 - 2019 1 CoreDNS 毕业
截至本文发稿已有4个项目毕业2019将会有更多的项目走向成熟。CNCF 托管的全部项目状态请见https://www.cncf.io/projects-graduated/ 截至本文发稿,已有 4 个项目毕业2019 将会有更多的项目走向成熟。CNCF 托管的全部项目状态请见:<https://www.cncf.io/projects-graduated/>
## Kubernetes在2018年的发展 ## Kubernetes 2018 年的发展
2018年3月Kubernetes经过CNCF基金会的投票正式毕业这意味着它拥有足够多的提交者和贡献人员并被业界广泛的采纳已经可以依靠社区的维护健康的发展。关于CNCF项目的毕业标准的详情请参考[CNCF Graduation Criteria v1.1](https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc)。 2018 3 Kubernetes 经过 CNCF 基金会的投票正式毕业,这意味着它拥有足够多的提交者和贡献人员,并被业界广泛的采纳,已经可以依靠社区的维护健康的发展。关于 CNCF 项目的毕业标准的详情请参考 [CNCF Graduation Criteria v1.1](https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc)。
一年里按计划发布了4个版本详见以下更新日志 早在 2017 年的北美 KubeCon 上就有一种论调说 Kubernetes 正变得 boring因为它已经越来越成熟在未来不会出现大的变动从以上更新日志中也可以看到大多是一些功能进入 beta 或者 stable 状态,很少有新的功能出现。
- [Kubernetes1.10更新日志](../appendix/kubernetes-1.10-changelog.md)
- [Kubernetes1.11更新日志](../appendix/kubernetes-1.11-changelog.md)
- [Kubernetes1.12更新日志](../appendix/kubernetes-1.12-changelog.md)
- [Kubernetes1.13更新日志](../appendix/kubernetes-1.13-changelog.md)
早在2017年的北美 KubeCon 上就有一种论调说 Kubernetes 正变得 boring因为它已经越来越成熟在未来不会出现大的变动从以上更新日志中也可以看到大多是一些功能进入 beta 或者 stable 状态,很少有新的功能出现。
下图是 Google trend 中过去一年来全球搜索 Kubernetes 的趋势图。 下图是 Google trend 中过去一年来全球搜索 Kubernetes 的趋势图。
@ -76,46 +69,25 @@ CNCF 生态中的诸多应用都已支持 Kubernetes Operator可以说 Operat
Kubernetes 并不直接对外提供业务能力,而是作为应用运行的底层平台,在应用和平台间还有一个 Gap这需要中间件的能力来补充。 Kubernetes 并不直接对外提供业务能力,而是作为应用运行的底层平台,在应用和平台间还有一个 Gap这需要中间件的能力来补充。
![ServiceMesher社区2018年活动一览](../images/006tNc79ly1fzm9vs4o3aj31s00u0x6p.jpg) ![ServiceMesher 社区 2018 年活动一览](../images/006tNc79ly1fzm9vs4o3aj31s00u0x6p.jpg)
- 2018年5月ServiceMesher 社区由蚂蚁金服发起成立。
- 2018年5月30日[Envoy最新官方文档中文版发布——由Service Mesh爱好者倾情奉献](http://www.servicemesher.com/envoy/)。
- 2018年6月21日[启用新的社区logo](http://mp.weixin.qq.com/s?__biz=MzIwNDIzODExOA==&mid=2650165956&idx=2&sn=8ef0f080fd428b6307389fce4546103a&chksm=8ec1ce8db9b6479b846b37e0fdffbc0f1a6b23c17329032af7e1b9e6dc6412966f42edcf08f9&scene=21#wechat_redirect)。
- 2018年6月30日[开启新域名servicemesher.com](http://www.servicemesher.com)。
- 2018年6月30日举办了第一届 Service Mesh Meetup 杭州站,见[ServiceMesher杭州Meetup圆满完成](http://www.servicemesher.com/blog/hangzhou-meetup-20180630/)。
- 2018年7月ServiceMesher 社区成为 [Istio 社区中国合作伙伴](https://istio.io/about/community/)。
- 2018年7月29日举办了第二届 Service Mesh Meetup 北京站,见[第二届Service Mesh Meetup北京站回顾、视频回放和资料下载](http://www.servicemesher.com/blog/beijing-meetup-20180729/)。
- 2018年8月25日举办了第三届 Service Mesh Meetup 深圳站,见[Service Mesh Meetup深圳站回顾、视频回放及PPT资料分享](http://www.servicemesher.com/blog/service-mesh-meetup-shenzhen-20180825/)。
- 2018年9月19日开始了开源电子书 [istio-handbook](https://github.com/rootsongjc/istio-handbook/) 的创作。
- 2018年11月13日[ServiceMesher社区成员聚首KubeCon&CloudNativeCon上海](https://jimmysong.io/posts/kubecon-cloudnativecon-china-2018/)。
- 2018年11月25日举办了第四届 Service Mesh Meetup 上海站,见[第四届 Service Mesh Meetup 上海站活动回顾与资料下载](http://www.servicemesher.com/blog/service-mesh-meetup-shanghai-20181125/)。
- 2019年1月6日举办了第五届 Service Mesh Meetup 广州站,见[第五届 Service Mesh Meetup 广州站活动回顾与资料下载](http://www.servicemesher.com/blog/service-mesh-meetup-guangzhou-20190106/)。
## Service Mesh Meetup ## Service Mesh Meetup
这一年 [ServiceMesher 社区](http://www.servicemesher.com)为大家带来5次 Meetup 共 20 次 Topic 分享: 这一年 [ServiceMesher 社区](http://www.servicemesher.com)为大家带来5次 Meetup 共 20 次 Topic 分享:
- 敖小剑(蚂蚁金服):大规模微服务架构下的 Service Mesh 探索之路 - 2018 年 5 月ServiceMesher 社区由蚂蚁金服发起成立。
- 刘超(网易):网易云的 Service Mesh 产品架构和实现 - 2018 年 5 月 30 日,[Envoy 最新官方文档中文版发布 —— 由 Service Mesh 爱好者倾情奉献](https://www.servicemesher.com/envoy/)。
- 唐鹏程(才云科技):在 Kubernetes 上搭建高可用 Service Mesh 监控 - 2018 年 6 月 21 日,[启用新的社区 logo](https://mp.weixin.qq.com/s?__biz=MzIwNDIzODExOA==&mid=2650165956&idx=2&sn=8ef0f080fd428b6307389fce4546103a&chksm=8ec1ce8db9b6479b846b37e0fdffbc0f1a6b23c17329032af7e1b9e6dc6412966f42edcf08f9&scene=21#wechat_redirect)。
- 徐运元谐云科技Service Mesh 结合容器云平台的思考与实践 - 2018 年 6 月 30 日,[开启新域名 servicemesher.com](https://www.servicemesher.com/)。
- 张亮京东金融数据研发负责人Service Mesh的延伸 —— 论道Database Mesh - 2018 年 6 月 30 日,举办了第一届 Service Mesh Meetup 杭州站,见 [ServiceMesher 杭州 Meetup 圆满完成](https://www.servicemesher.com/blog/hangzhou-meetup-20180630/)。
- 吴晟Apache SkyWalking创始人Observability on Service Mesh —— Apache SkyWalking 6.0 - 2018 年 7 月ServiceMesher 社区成为 [Istio 社区中国合作伙伴](https://istio.io/about/community/)。
- 朵晓东蚂蚁金服高级技术专家蚂蚁金服开源的Service Mesh数据平面SOFA MOSN深层揭秘 - 2018 年 7 月 29 日,举办了第二届 Service Mesh Meetup 北京站,见[第二届 Service Mesh Meetup 北京站回顾、视频回放和资料下载](https://www.servicemesher.com/blog/beijing-meetup-20180729/)。
- 丁振凯新浪微博微博搜索架构师微博Service Mesh实践 - WeiboMesh - 2018 年 8 月 25 日,举办了第三届 Service Mesh Meetup 深圳站,见 [Service Mesh Meetup 深圳站回顾、视频回放及 PPT 资料分享](https://www.servicemesher.com/blog/service-mesh-meetup-shenzhen-20180825/)。
- 张超盟华为Kubernetes容器应用基于Istio的灰度发布实践 - 2018 年 9 月 19 日,开始了开源电子书 [istio-handbook](https://github.com/rootsongjc/istio-handbook/) 的创作。
- 朱经惠 联邦车网Istio控制平面组件原理解析 - 2018 年 11 月 13 日,[ServiceMesher 社区成员聚首 KubeCon&CloudNativeCon 上海](https://jimmysong.io/blog/kubecon-cloudnativecon-china-2018/)。
- 邵俊雄蚂蚁金服SOFAMesh 的通用协议扩展 - 2018 年 11 月 25 日,举办了第四届 Service Mesh Meetup 上海站,见[第四届 Service Mesh Meetup 上海站活动回顾与资料下载](https://www.servicemesher.com/blog/service-mesh-meetup-shanghai-20181125/)。
- 杨文JEXKubernetes、Service Mesh、CI/CD 实践 - 2019 年 1 月 6 日,举办了第五届 Service Mesh Meetup 广州站,见[第五届 Service Mesh Meetup 广州站活动回顾与资料下载](https://www.servicemesher.com/blog/service-mesh-meetup-guangzhou-20190106/)。
- 吴晟Apache SkyWalking 创始人Observability and Istio telemetry
- 敖小剑&张瑜标(蚂蚁金服):蚂蚁金服 Service Mesh 渐进式迁移方案
- 徐运元谐云科技探讨和实践基于Isito的微服务治理事件监控
- 冯玮七牛容器云平台产品架构师Envoy、Contour与Kubernetes实践
- 郑德惠唯品会Java资深开发工程师唯品会的Service Mesh 实践与分享
- 陈逸凡蚂蚁金服SOFAMosn 持续演进路径及实践案例
- 崔秀龙HPE 软件分析师):在网格的边缘试探——企业 Istio 试水指南
- 宋净超蚂蚁金服Service Mesh 圆桌讨论
## Serverless ## Serverless