Kubernetes与云原生架构解读_第1页
Kubernetes与云原生架构解读_第2页
Kubernetes与云原生架构解读_第3页
Kubernetes与云原生架构解读_第4页
Kubernetes与云原生架构解读_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Kubernetes与云原生架构解读聊聊架构 微信号 archtime功能介绍 以架构之“道”为基础,呈现更多务实落地的架构内容。云计算技术发展至今已经 10 多个年头了,从最开始的硬件虚拟化、IaaS、OpenStack、PaaS、容器设置到如今的 Serverless,云计算已经越来约接近应用逻辑。容器实现了应用的分装,方便了应用在不同环境间的迁移,轻量级的特性又使它能够消耗更少的资源而带来更大的便利。但是独木难支,容器如果在单节点上运行并不能发挥它的最大效益,容器编排领域在 2016 年就已经成为了兵家必争之地。在新的一年来临之际,本文带您一起梳理 2017 年 Kubernetes

2、及云原生的发展,并对其在 2018 年的趋势作个展望。Kubernetes Kubernetes 是谷歌根据其内部使用的 Borg 改造成的一个通用容器编排调度器,于 2014 年开源,并于 2015 年将其捐赠给 Linux 基金会下属的云原生计算基金会(CNCF);同时它也是 GIFEE(Google Infrastructure For Everyone Else)中的一员,该组织还包括了 HDFS、HBase 和 ZooKeeper 等项目。Kubernetes 的架构做得足够开放,通过系列的接口,如 CRI(Container Runtime Interface)作为 Kubelet

3、 与容器之间的通信接口、CNI(Container Networking Interface) 来管理网络、而持久化存储通过各种 Volume Plugin 来实现,同时 Kubernetes 的 API 本身也可以通过 CRD(Custom Resource Define)来扩展,还可以自己编写 Operator 和 Service Catalog 来基于 Kubernetes 实现更高级和复杂的功能。下面让我们来回顾一下 Kubernetes 的技术发展史。Kubernetes 发展历史 相信凡是关注容器生态圈的人都不会否认,Kubernetes 已经成为容器编排调度的实际标准,不论 Do

4、cker 官方还是 Mesos 都已经支持了 Kubernetes,Docker 公司在今年 10 月 16 日至 19 日举办的 DockerCon EU 2017 大会上宣布支持 Kubernetes 调度,就在这不久前 Mesos 的商业化公司 Mesosphere 的 CTO Tobi Knaup 也在官方博客中宣布 Kubernetes on DC/OS。而回想一下,2016 年的时候,我们还在为 Swarm、Mesos、Kubernetes 谁能够在容器编排调度大战中胜出而猜测。经过不到一年的发展,Kubernetes 就以超过 70% 的市场占有率(据 TheNewStack 的

5、调研报告)将另外两者遥遥甩在身后。Kubernetes 已经在大量的企业中落地,还有一些重量级的客户也宣布将服务迁移到 Kubernetes 上,比如 GitHub、eBay、彭博社等。Kubernetes 自 2014 年由 Google 开源以来,至今已经发展到了 1.9 版本,下面是 Kubernetes 的版本发布路线图:2014 年 10 月由 Google 正式开源。2015 年 7 月 22 日发布 1.0 版本,在 OSCON(开源大会)上发布了 1.0 版本。2015 年 11 月 16 日发布 1.1 版本,性能提升,改进了工具并创建了日益强大的社区。2016 年 4 月

6、16 日发布 1.2 版本,更多的性能升级加上简化应用程序部署和管理。2016 年 7 月 22 日发布 1.3 版本,对接了云原生和企业级工作负载。2016 年 9 月 26 日发布 1.4 版本,该版本起 Kubernetes 开始支持不同的运行环境,并使部署变得更容易。2016 年 12 月 13 日发布 1.5 版本,该版本开始支持生产级别工作负载。2017 年 3 月 28 日发布 1.6 版本,该版本支持多租户和在集群中自动化部署不同的负载。2017 年 6 月 29 日发布 1.7 版本,该版本的 Kubernetes 在安全性、存储和可扩展性方面有了很大的提升。2017 年 9

7、 月 28 日发布 1.8 版本,该版本中包括了一些功能改进和增强,并增加了项目的成熟度,加强了 Kubernetes 的治理模式,这些都将有利于 Kubernetes 项目的持续发展。2017 年 12 月 15 日发布 1.9 版本,该版本最大的改进是 Apps Workloads API 成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧。还有一个重大更新,就是测试支持了 Windows 了,这打开了在 Kubernetes 中运行 Windows 工作负载的大门。从上面的时间线中我们可以看到,Kubernetes 的产品迭代周期越来越快,从 2014 年开源,2015 年发布了两

8、个版本,2016 年发布了三个版本,到今年一年内就发布了 4 个大版本,Kubernetes 越来越受到关注,同时它也变得越来越稳定,越来越易用。Cloud Native 在 Kubernetes 出现之前,就已经有人提出了云原生的概念,如 2010 年 Paul Fremantle 就在他的博客中提出了云原生的核心理念,但是还没有切实的技术解决方案。而那时候 PaaS 才刚刚出现,PaaS 平台提供商 Heroku 提出了 12 因素应用的理念,为构建 SaaS 应用提供了方法论,该理念在云原生时代依然适用。现如今云已经可以为我们提供稳定而唾手可得的基础设施,但是业务上云成了一个难题,Kub

9、ernetes 的出现与其说是从最初的容器编排解决方案开始,倒不如说是为了解决应用上云(即云原生应用)这个难题。CNCF 中托管的一系列项目即致力于云原生应用整个生命周期的管理,从部署平台、日志收集、Service Mesh(服务网格)、服务发现、分布式追踪、监控以及安全等各个领域通过开源软件为我们提供一整套解决方案。Google 通过将云应用进行抽象简化出的 Kubernetes 中的各种概念对象,如 Pod、Deployment、Job、StatefulSet 等,形成了 Cloud Native 应用的通用可移植的模型,Kubernetes 作为云应用的部署标准,直接面向业务应用,大大提

10、高了云应用的可移植性,解决云厂商锁定的问题,让云应用可以在夸云之间无缝迁移,甚至用来管理混合云,成为企业 IT 云平台的新标准。Cloud Native Landscape/cncf/landscape/blob/master/landscape/CloudNativeLandscape_latest.jpg日益强大的社区 Kubernetes 已成为 GitHub 上参与和讨论人数最多的开源项目,在其官方 Slack 上有超过两万多名注册用户(其中包括中文用户频道 cn-users),而整个 Kubernetes 中文用户群可达数千名之众。目前关于 Kubernetes 和云原生的图书也已经

11、林林总总,英文版讲解 Kubernetes 的书籍有:The Kubernetes BookKubernetes in ActionKubernetes Microservices with Docker关于云原生架构的如Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment,已发行和 2018 年即将发行的有十几本之多,同时关于云原生开发的书籍也不少,如:Cloud Native Go(这本书已经被翻译成中文,由电子工业出版社引进出版

12、)Cloud Native Python(已由电子工业出版社引进,预计 2018 年推出中文版)Cloud Native Java而中文书籍方面,也在不断增加:Kubernetes 权威指南: 从 Docker 到 Kubernetes 实践全接触Java 云原生(预计 2018 年出版)同时还有一系列开源的电子书和教程,比如我写的 kubernetes-handbook,而 Kubernetes 官方官网文档也即将推出完整的汉化版本,该项目目前还在进行中。另外,除了图书和官方 Slack 外,国内外还有很多厂商、社区、爱好者组织的 meetup。国外已经有众多的 Kubernetes 和 C

13、loud Native meetup 定期举办,而在中国,今年可以说是小荷才露尖尖角:2017 年 6 月 19 日 -20 日,北京,L3 大会(LinuxCon+ContainerCon+CloudOpen China),CNCF 作为云原生应用的联合推广团体,也是由 Google 一手培植起来的强大“市场媒体”,第一次进入中国,华为、Google、Rancher、红帽等公司分别做了关于 Kubernetes 及 Cloud Native 的演讲。2017 年 7 月 25 日,北京、上海,K8sMeetup,Kubernetes 二周年北京 - 上海 Meetup 双城庆生。2017 年

14、 9 月 12 日,北京,T11 大会,前 Pivotal 技术专家、现 CapitalOne 高级专家 Kevin Hoffman 做了“High Level Cloud Native Concepts”的演讲。2017 年 10 月 15 日,杭州,才云科技(Caicloud)、CNCF 与“K8sMeetup 中国社区”联合主办了聚焦 Kubernetes 中国行业应用与技术落地的 KEUC 2017- Kubernetes 中国用户大会。2017 年 12 月 13 日 -15 日,杭州,云原生技术大会CNTC,这次会议由谐云科技与网易云共同主办,主要探讨云原生技术与应用,同时还进行了

15、云原生集训。另外还有由才云科技分别在北京、上海、深圳、青岛等地举办了多场 k8smeetup。可以看到,国内外在 2017 年都对 Kubernetes 和云原生进行了大力宣传。创业公司与厂商支持 国外 Google 的 GKE、微软的 Azure ACS、AWS 的 Fargate 和 2018 年即将推出的 EKS、Rancher 联合 Ubuntu 推出的 RKE,国内的华为云、腾讯云、阿里云等都已推出了公有云上的 Kubernetes 服务,Kubernetes 已经成为公有云的容器部署的标配,私有云领域也有众多厂商在做基于 Kubernetes 的 PaaS 平台。随着企业落地 Ku

16、bernetes 的日益增长,相关的人才缺口也将显现。CNCF 又就此推出了 CKA(Certified Kubernetes Administrator)和 CKD(Certified Kubernetes Developer),假若在 Kubernetes 的生态构建与市场发展顺利的情况下,该证书将会展现其含金量。另外在国外还有一大批基于 Kubernetes 的创业公司,如 Kubernetes 创始人之一 Joe Beda 创立了 Heptio(于今年 9 月获获得 2500 万美元 B 轮融资),还有 Platform9、Kismatic、Diamanti、Bitnami、CoreO

17、S、Hypernetes、Weave、NavOps 等,他们中有的提供 Kubernetes 的技术咨询和培训,有的专研某项具体技术,还有一系列基于 Kubernetes 的自动化工具、监控厂商如雨后春笋般出现。国内这几年诞生了多家容器创业公司,例如 DaoCloud、精灵云、时速云、数人云、灵雀云、有容云、好雨云、希云、才云、博云等,这些厂商有的可能一开始不是以 Kubernetes 作为容器编排调度引擎,但是现在已经全部支持。这些容器厂商全部涉及私有云业务,主要对接金融、政府和电信行业,帮助传统企业进行 IT 转型,虽然很多厂商都声称支持 Kubernetes,但是在 Kubernetes

18、 的易用性上还需要很多改进,单纯基于容器部署应用已经无法满足企业的需求,帮助企业上云、将传统应用改造以适应云的弹性与高效,构建 PaaS 平台,通过基于容器的基础调度平台运行大数据及 AI 应用,成为了这些创业公司的不二之选。我认为对于特定行业的整体解决方案将是国内容器厂商的主要商业化方式。目前大部分容器云提供的产品大同小异,从云平台管理、容器应用的生命周期管理、DevOps、微服务架构等,这些大多是对原有应用的部署和资源申请流程的优化,没有形成杀手级的平台级服务,这些都是原来容器时代的产物。而容器云进化到高级阶段 Cloud Native(云原生)后,容器技术将成为该平台的基础,虽然大家都声

19、称具有全面的功能,但是厂商在推行容器技术时需要结合企业的具体应用场景。当前存在的问题 Kubernetes 既然是下一代云计算的标准,那么它当前的现状如何,距离全面落地还有存在什么问题?如果 Kubernetes 被企业大量采用,将会是对企业 IT 价值的重塑,IT 将是影响业务速度和健壮性的中流砥柱,但是 Kubernetes 真正落地还存在诸多问题:部署和运维起来复杂,需要有经过专业的培训才能掌握;企业的组织架构需要面向 DevOps 转型,很多问题不是技术上的,而是管理和心态上的;对于服务级别尤其是微服务的治理不足,暂没有一套切实可行可落地的完整微服务治理方案;对于上层应用的支持不够完善,需要编写配置大量的 YAML 文件,难于管理;当前很多传统应用可能不适合迁移到 Kubernetes。以上这些问题是企业真正落地 Kubernetes 时将会遇到的比较棘手的问题,针对这些问题,Kubernetes 社区早就心领神会,社区早已设置了多个 SIG(Special Interest Group)专门负责不同领域的问题,而初创公司和云厂商们也在虎视眈眈,觊觎着这份大蛋糕。2018 年展望 2017 年可以说是 Cloud Native 蓬勃发展和大发异彩之年,Kubernetes 在这一年中连续发布了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论