近十几年来,IT领域新技术、新概念层出不穷,例如DevOps、微服务(Microservice)、容器(Container)、云计算(Cloud Computing)和区块链(Blockchain)等,直有“乱花渐欲迷人眼”之势。另外,出于业务的需要,IT应用模型也在不断地变革,例如,开发模式从瀑布式(Waterfall)到敏捷(Agile)再到精益(Lean),甚至是与QA和Operations融合的DevOps,应用程序架构从单体(monolithic)模型到分层模型再到微服务,部署及打包方式从面向物理机到虚拟机再到容器,应用程序的基础架构从自建机房到托管再到云计算,等等,这些变革使得IT技术应用的效率大大提升,同时却以更低的成本交付更高质量的产品。
尤其是以Docker为代表的容器技术的出现,终结了DevOps中交付和部署环节因环境、配置及程序本身的不同而造成的动辄几种甚至十几种部署配置的困境,将它们统一在容器镜像(image)之上。如今,越来越多的企业或组织开始选择以镜像文件作为交付载体。容器镜像之内直接包含了应用程序及其依赖的系统环境、库、基础程序等,从而能够在容器引擎上直接运行。于是,IT运维工程师(operator)无须关注开发应用程序的编程语言、环境配置等,甚至连业务逻辑本身也不必过多关注,而只需要掌握容器管理的单一工具链即可。

部署的复杂度虽然降低了,但以容器格式运行的应用程序间的协同却成了一个新的亟待解决的问题,这种需求在微服务架构中表现得尤为明显。结果,以Kubernetes为代表的容器编排系统应需而生。

尽管公开面世不过短短数年时间,Kubernetes业已成为容器编排领域事实上的标准,其近一两年的发展状态也在不断地验证着Urs H?lzle曾经的断言:无论是公有云、私有云抑或混合云,Kubernetes都将作为一个为任何应用、任何环境提供的容器管理框架而无处不在。

Kubernetes(来自希腊语,意为“舵手”或“飞行员”)由Joe Beda、Brendan Burns和Craig McLuckie创立,而后Google的其他几位工程师,包括Brian Grant和Tim Hockin等加盟共同研发,并由Google在2014年首次对外宣布。Kubernetes的开发和设计都深受Google内部系统Borg的影响,事实上,它的许多顶级贡献者之前也是Borg系统的开发者。

Borg是Google内部使用的大规模集群管理系统,久负盛名。它建构于容器技术之上,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率最大化。2015年4月,Borg论文《Large-scale cluster management at Google with Borg》伴随Kubernetes的高调宣传被Google首次公开,人们终于有缘得窥其全貌。

事实上,正是由于诞生于容器世家Google,并站在Borg这个巨人的肩膀之上,充分受益于Borg过去十数年间积累的经验和教训,Kubernetes甫一面世就立即广受关注和青睐,并迅速称霸了容器编排技术领域。很多人将Kubernetes视为Borg系统的一个开源实现版本,在Google内部,Kubernetes的原始代号曾经是Serven of Nine,即星际迷航中友好的“Borg”角色,它标识中的舵轮有七个轮辐就是对该项目代号的致意,如图所示。

Kubernetes v1.0于2015年7月21日发布,紧随其后,Google与Linux基金会合作组建了Cloud Native Computing Foundation(云原生计算基金会,简称为CNCF),并将Kubernetes作为种子技术予以提供。这之后,Kubernetes进入了版本快速迭代期,从此不断地融入着新功能,如Federation、Network Policy API、RBAC、CRD和CSI,等等,并增加了对Windows系统的支持。

2017年可谓是容器生态发展史上具有里程碑意义的一年。这一年,AWS、Azure和Alibaba Cloud都相继在其原有容器服务上新增了对Kubernetes的支持,而Docker官方也在2017年10月宣布同时支持Swarm和Kubernetes编排系统。这一年,RKT容器派系的CoreOS舍弃掉自己的调度工具Fleet,将其商用平台Tectonic的重心转移至Kubernetes。这一年,Mesos也于9月宣布了对Kubernetes的支持,其平台用户可以安装、扩展和升级多个生产级的Kubernetes集群。这一年,Rancher Labs推出了其2.0版本的容器管理平台并宣布all-in Kubernetes,放弃了其内置多年的容器编排系统Cattle。类似的故事依然在进行,并且必将在一个时期内持续上演。

本文摘编自《Kubernetes进阶实战》,经出版方授权发布。

推荐阅读:《Kubernetes进阶实战》 作者 马永亮‍


内容简介:
基于K8S 1.12版本,透彻解析技术架构、组件应用、扩缩容、网络与存储策略,以及技术进阶等话题 。
马哥教育CEO马哥(马永亮)撰写,渐进式铺陈,适合入门与进阶 ;
涵盖Kubernetes架构、部署、核心/自定义资源、扩缩容、存储卷、网络插件与策略、安全、调度策略、监控、日志等话题 ;
渐进式讲解,手把手示范,大量实操案例,随时动手验证。

一文了解Kubernetes的前世今生相关推荐

  1. sscanf 连续相同编辑符_【第1995期】钉钉文档编辑器的前世今生

    前言 编辑器,一个重前端的领域方向.今日早读文章由钉钉@展新授权分享. @展新,来自钉钉文档团队.2011 年加入支付宝,一路成长于支付宝的前端团队,孵化了语雀,2018 年到钉钉,开启钉钉文档的旅程 ...

  2. 一文了解 Kubernetes 中的服务发现

    原文链接:一文了解 Kubernetes 中的服务发现 Kubernetes 服务发现是一个经常让我产生困惑的主题之一.本文分为两个部分: 网络方面的背景知识 深入了解 Kubernetes 服务发现 ...

  3. kubernetes专题一:kubernetes的前世今生

    前言 IT行业发展至今,微服务.容器化技术已经非常成熟.随着云原生技术在世界范围内大规模地应用,我们也不得不开始了解.熟悉 .掌握云原生相关的技术体系. 关于云原生,百科的说法是: 云原生是基于分布部 ...

  4. 从芯片到AI智能芯片,一文了解它的前世今生

    作者 | 元宵大师,Python高级工程师,致力于推动人工智能.大数据分析在金融量化交易领域中的应用.欢迎大家关注我的个人公众号<元宵大师带你用Python量化交易>. 责编 | 胡巍巍 ...

  5. Argo 项目入驻 CNCF,一文解析 Kubernetes 原生工作流

    作者 | 遥鹭.郡宝 **导读:**近期,CNCF 技术监督委员会(Technical Oversight Committee,TOC)投票决定接受 Argo 作为孵化级别的托管项目.作为一个新加入的 ...

  6. git项目比对_Argo 项目入驻 CNCF,一文解析 Kubernetes 原生工作流

    作者 | 遥鹭.郡宝 导读:近期,CNCF 技术监督委员会(Technical Oversight Committee,TOC)投票决定接受 Argo 作为孵化级别的托管项目.作为一个新加入的项目,A ...

  7. 一文了解 Kubernetes

    简介:Docker 虽好用,但面对强大的集群,成千上万的容器,突然感觉不香了.这时候就需要我们的主角 Kubernetes 上场了,先来了解一下 Kubernetes 的基本概念,后面再介绍实践,由浅 ...

  8. 一文领略 HTTP 的前世今生

    HTTP 协议在当今的互联网可谓是随处可见,一直默默的在背后支持着网络世界的运行,对于我们程序员来说 HTTP 更是熟悉不过了. 平日里我们都说架构是演进的,需求推动着技术的迭代.更新和进步,对于 H ...

  9. 一文了解P2P的前世今生

    本文摘自<解构互联网金融实战>. 目录 产生原因 主要模式 发展历程 驱动因素 核心问题 总结 产生原因   P2P意为Peer to Peer,即点对点交易,是个人与个人之间基于互联网的 ...

最新文章

  1. Python2 与 Python3 区别
  2. Luogu3835 【模板】可持久化平衡树(fhq-treap)
  3. memcached协议
  4. 如何导入数据模板到MVC
  5. 第一次接触万物接对象
  6. 内置函数补充 之 反射
  7. 2019年中国高校社会影响力排行榜出炉!有你母校吗?
  8. 在线常用crontab表达式大全验证解析
  9. docker容器网络通讯——外部访问内部
  10. LibreOJ β Round #2 E. 数论只会 GCD
  11. css compressor java_使用YUI Compressor压缩CSS/JS
  12. 万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!
  13. batchplot插件用法_batchplot批量打印怎么用?Batchplot(CAD批量打印工具)安装步骤
  14. 永恒之蓝(ms17010)漏洞利用
  15. python 爬虫图片打不开_爬虫下载图片打不开是什么原因,最新简易爬虫教程
  16. 如何编写GIMP插件(三)
  17. mybatis 查询忽略字段
  18. BERT的优秀变体:ALBERT论文图解介绍
  19. 基于滴滴云虚拟机的TensorFlow搭建与使用
  20. python3GUI--翻译器By:PyQt5(附源码)

热门文章

  1. Eclipse 的IOConsole Updater error
  2. Centos下源码安装golang
  3. KVM之Virtio介绍 (十五)
  4. c语言程序设计的反思,C语言程序设计教学反思.doc
  5. python剑指offer替换空格_02_替换空格【python】
  6. Vue+axios 实现http拦截及vue-router拦截
  7. mac下Android studio配置gradle的路径
  8. 基于MongoDb的S3实现
  9. weakself的一种写法
  10. [游戏模版17] Win32 推箱子 迷宫