AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Kubernetes,原来可以如此简单

  • 2018-08-27
  • 本文字数:2179 字

    阅读完需:约 7 分钟

不管你是否意识到,在过去的几年时间里,以 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 为什么会赢”这个重要的问题,算是我额外为你准备的一份开学礼物。



机会总是留给有准备的人,现在就让我们一起开启这次充满挑战的容器之旅吧!

订阅福利

福利一:上新优惠价¥68,原价¥99,9 月 8 日恢复原价

福利二:每邀请一位好友购买,你可获得24 元现金返现,多邀多得,上不封顶,随时提现(提现流程:极客时间 App - 我的 - 分享有赏)

如何订阅?

点击下方图片,即可试读或订阅专栏。

2018-08-27 19:003240

评论

发布
暂无评论
发现更多内容

GrowingIO 前端团队对于 GraphQL 的实践总结

GrowingIO技术专栏

大前端 graphql

直击Huawei Mate 40产线背后的华为云IoT智能制造

华为云开发者联盟

IoT 数字化转型 数字孪生 华为云IoT

在Spring Bean实例过程中,如何使用反射和递归处理的Bean属性填充?

小傅哥

Java spring 小傅哥 反射调用 属性填充

“盒模型“初探

编程三昧

CSS css3 大前端 盒模型

“扯皮”终结者,区块链帮农民工计薪水

CECBC

动态规划(详解矩阵连乘 案例+Java代码实现)

若尘

算法 动态规划 矩阵运算 java代码 6月日更

GrowingIO Design 组件库搭建之组件开发

GrowingIO技术专栏

组件

详解Camtasia的注释功能

淋雨

视频剪辑 Camtasia 录屏

深圳首辆数字人民币主题观光巴士亮相

CECBC

Hello Python! 第一天学 Pyhton 语言

在即

6月日更

有点难的 webpack 知识点:Dependency Graph 深度解析

范文杰

webpack 6月日更

关于第四次财富狂潮的思考,区块链如猛虎出笼?

CECBC

Dubbo SPI

青年IT男

dubbo

微博评论的高性能高可用计算架构设计

唐高为

Redis数据结构

邱学喆

数据库 redis 跳跃表

React Hooks - 如何安全地使用state

蛋先生DX

大前端 React React Hooks JavaScrip 6月日更

一文了解预训练语言模型!

博文视点Broadview

SMT产线可视化管理,智能工业助力全渠道优化

一只数据鲸鱼

数据可视化 智慧工厂 SMT 智慧工业

IPFS云算力挖矿系统开发(详情)丨IPFS云算力(源码)案例

系统开发咨询1357O98O718

ARTS- 日常打卡5

pjw

中断Hwi:提高鸿蒙轻内核系统实时性及执行效率的秘密武器

华为云开发者联盟

鸿蒙 硬件 中断 鸿蒙轻内核 中断信号

C 语言面向对象的封装方式(示例)

实力程序员

五大新品+两大黑科技,看华为云如何升级基础设施让用户“躺平”

华为云开发者联盟

云原生 基础设施 实景三维建模 计算实例C7 分布式云

react源码解析4.源码目录结构和调试

全栈潇晨

React Hooks react源码

BZZ算力挖矿系统开发功能丨BZZ算力挖矿源码设计

系统开发咨询1357O98O718

【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

实现多级缓存架构设计方案

xcbeyond

缓存 缓存架构 6月日更

面试系列-3 限流场景实践

李阿柯

php lua redis 面试 限流算法

致恰达耶夫,致鸿蒙

脑极体

鸿蒙能成为世界第三的操作系统吗?

小智

华为 鸿蒙 操作系统

你们公司的数据库出过问题么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

Kubernetes,原来可以如此简单_语言 & 开发_极客时间_InfoQ精选文章