Kubernetes,走进未来软件世界的敲门砖

阅读本文大约需要4分钟。

不管你是否意识到,在过去的几年时间里,以Docker、Kubernetes为代表的容器技术已经悄然发展成为一项通用技术。放眼国外,Google、Microsoft、IBM等互联网巨头们,仍在容器开源基础设施的技术市场上厮杀。回看国内,包括BAT、滴滴、京东、头条在内的大厂也都争相把容器和Kubernetes项目作为其技术重心,试图“放长线钓大鱼”。

正如媒体所言,软件正在吃掉世界,而容器正在吃掉整个软件世界。虽说有些夸张,但也充分证明了容器在当今软件研发领域的地位。顺势而为,是否掌握容器技术也成为很多企业在招聘时的一个重要选项。

容器技术本身是一项偏向运维工程师的基础技术,namespace资源隔离、cgroups资源限制等等概念对于开发人员来说,都有一道难以逾越的理解鸿沟。这些年,我一直都在和容器打交道,也一直和容器工程师探讨落地过程中的问题。从这些交流中,我发现总有很多相似的问题被反复提及,比如:

1、为什么容器里只能跑“一个进程”?

2、为什么我原先一直在用的某个JVM参数,在容器里就不好使了?

3、为什么Kubernetes就不能固定IP地址?容器网络连不通又该如何去Debug?

4、Kubernetes中StatefulSet和Operator到底什么区别?PV和PVC又该怎么用?

这些问题乍一看与我们平常的认知非常矛盾,但它们的答案和原理却并不复杂。而这些对于容器初学者来说,又很难用一两句话就解释清楚。

容器技术涉及到操作系统、网络、存储、调度、分布式原理等等各方面的综合知识,也就导致了很多初学者面对容器技术,要么知识储备不足,要么杂乱无章、无从下手。

其实,看似纷乱繁杂容器技术体系,却存在着很多可以“牵一发而动全身”的主线。比如,Linux的进程模型对于容器本身的重要意义;或者,“控制器”模式对整个Kubernetes项目提纲挈领的作用。

这些基础知识并不会在Docker或者Kubernetes的官方文档中详细赘述。但它们也才是真正掌握容器技术体系的精髓所在,是每一位技术从业者都需要悉心修炼的“内功”。

《深入剖析Kubernetes》专栏就是想基于我多年的从业经验,用深入浅出的方式帮你从看似凌乱复杂的Kubernetes项目中梳理出一条主线,助你理解容器和Kubernetes背后的设计思想和逻辑,从而解决现实工作中遇到的问题。

眼下,你我可能已经错过了互联网技术大爆炸的时代,也没有在数字货币早期的狂热里分到一杯羹。可就在此时此刻,在沉寂了多年的云计算与基础设施领域,一次以“容器”为名的历史变革,正呼之欲出。这一次,我们又有什么理由作壁上观呢?


我是谁?

我是张磊,Kubernetes社区的一位资深成员和项目维护者。

2012年,我还在浙大读书的时候,就有幸组建了一个云计算与PaaS基础设施相关的科研团队,就这样,我从早期的Cloud Foundry社区开始,正式与容器结缘。

之后的几年,我全职在Kubernetes和Kata Containers社区从事上游开发工作,先后发起了容器镜像亲密性调度、基于等价类的调度优化等多个核心特性,参与了容器运行时接口、安全容器沙盒等多个基础特性的设计和研发。还有幸作为主要的研发人员和维护者之一,亲历了Serverless Container概念的诞生与崛起。

工作之余,我还发起和组织撰写了《Docker容器与容器云》一书,受到了广大希望进阶容器技术的读者的好评。

今年,我又远赴西雅图,在微软研究院(MSR)云计算与存储研究组,专门从事基于Kubernetes的深度学习基础设施相关的研究工作。

可以说,这6年里,我参与和亲历了容器技术从“初出茅庐”到“尘埃落定”的全过程。

专栏简介

我希望借由这个专栏,给你讲清楚容器背后的技术本质与设计思想,并结合着对核心特性的剖析与实践,加深你对容器技术的理解。为此,我把专栏划分成了4大模块:

1、“白话”容器技术基础:用饶有趣味的解说,给你梳理容器技术生态的发展脉络,用最通俗易懂的语言描述容器底层技术的实现方式,让你知其然,并且知其所以然。

2、Kubernetes集群的搭建与实践:Kubernetes集群号称“非常复杂”,但是如果明白了其中的架构和原理,选择了正确的工具和方法,它的搭建却也可以“一键安装”,它的应用部署也可以浅显易懂。

3、容器编排与Kubernetes核心特性剖析:这是专栏最主要的内容。“编排”永远都是容器云项目的灵魂所在,也是Kubernetes社区持久生命力的源泉。在这一模块,我会从分布式系统设计的视角出发,抽象和归纳出这些特性中体现出来的普遍方法,然后带着这些指导思想去逐一阐述Kubernetes项目关于编排、调度和作业管理的各项核心特性。

4、Kubernetes开源社区与生态:“开源生态”永远都是容器技术和Kubernetes项目成功的关键。在这个模块,我会和你一起探讨容器社区现代开源软件工程指导下的技术演进之路,带你思考如何同团队一起平衡内外部需求,逐渐成为社区中不可或缺的一员。

在专栏开始,我首先为你准备了4篇预习文章,详细地梳理了容器技术自兴起到现在的发展历程,同时也回答了“Kubernetes为什么会赢”这个重要的问题,算是我额外为你准备的一份开学礼物。

原文发布于微信公众号 - 我的小碗汤(mysmallsoup)

原文发表时间:2018-08-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏挖坑填坑

【读书笔记】坚持,一种可以养成的习惯03-反抗期

连续写了两篇读此书的读书笔记了,发现都是摘抄,并没有多大的意义。于是想着今后只列出作者的观点,然后结合自身经历谈谈想法。没有经历的就按照作者的案例简单写写。

10320
来自专栏大魏分享(微信公众号:david-share)

告诉你一个真实的 OpenStack:都谁在用,用来干什么?

大卫说:任何一项技术,均有其优劣势,不可能包治百病,鱼和熊掌不可兼得。我们看一下OpenStack中国社区的这篇文章,客观来看一下Openstack的评价。笔者...

1.5K100
来自专栏云计算D1net

PaaS平台 OpenStack和CloudFoundry谁沉谁浮?

企业PaaS供应商Cloud Foundry 2月下旬已经正式从Pivotal分离出来,Cloud Foundry将通过Cloud Foundry基金会继...

50240
来自专栏Jerry的SAP技术分享

SAP成都研究院Sunshine: 我的C4C实习感受和保研之路

今天的文章来自SAP成都一位实习生,曾经和Jerry同在C4C成都开发团队一起工作过。在Sunshine最后一个工作日里,Jerry和Sunshine一起吃饭的...

12320
来自专栏大数据文摘

4位神级大牛说“别神化程序员了,编程不需要天赋和激情!”

1.2K70
来自专栏java一日一条

一个五年 Android 开发者百度、阿里、聚美、映客的面试心经

先简单说说我最近的面试经历吧。面试的公司很多,其中有让我心血沸腾的经历,也有让我感到失望到无助的经历,我将这些体会都记录下来,细想之后很值得,面了这么多公司,要...

18810
来自专栏ThoughtWorks

开发者技能修炼的五个等级

第一阶梯:Typer,打字员 每一位开发者在正式踏上开发道路之前,都需要经过毫无编程经验的“第一阶段”。 这时他们对于程序的理解仅限于照着书本或记忆进行有规律的...

34760
来自专栏吉浦迅科技

不看这篇,别怪GPU大神们不回答你的问题!

本篇改编自 Eric Steven Raymond 的《提问的艺术》 在Lady的GPU应用技术开发QQ群里,当提出一个技术问题时,你能得到怎样的回答? 这取决...

37880
来自专栏玉树芝兰

孩子该不该学编程?

同学A是华尔街精英,大女儿已经六岁了。现在他每天都要操心女儿的教育问题。他主张培养孩子兴趣,课余活动的选择都按孩子自己的意愿来决定。

17220
来自专栏云加头条

孙国清:大规模容器化为小红书带来收益

容器化在近些年非常火热。小红书运维总监孙国清向大家解释了容器化的三大原因,并为大家带来了《小红书大规模容器化应用实践》的主题分享。他介绍了小红书在容器下面所用到...

43360

扫码关注云+社区

领取腾讯云代金券