立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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:003029

评论

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

读《Software Engineering at Google》(13)

术子米德

架构师成长笔记

Linux内核应该怎么学习?给大家推荐五本书籍

简说Linux内核

Linux Linux内核 驱动开发 嵌入式开发

读《Software Engineering at Google》(11)

术子米德

架构师成长笔记

“亿”点点技术情怀

不脱发的程序猿

程序员 程序人生 技术情怀

企评家企业大数据平台助力政府智能监管

企评家

Flutter 一文搞定图片选择和图片上传

岛上码农

flutter ios开发 安卓开发 4月月更 跨平台开发

Pandas+Numpy+Sklearn随机取数

Peter

Python pandas

机器学习算法:关联规则分析

Peter

Python 机器学习 算法

读《Software Engineering at Google》(12)

术子米德

架构师成长笔记

Minio基本使用与原理

神农写代码

新闻速递 I MobTech通过中国信通院“安全专项评测”

MobTech袤博科技

略谈企业信息化的规律

秋去冬来春未远

信息化规律

读《Software Engineering at Google》(14)

术子米德

架构师成长笔记

[Day22]-[链表]相交链表

方勇(gopher)

链表 LeetCode 算法和数据结构

东吴证券X袋鼠云:数据轻松可取、毫秒级反应能力,东吴证券做对了什么?

袋鼠云数栈

大数据

企评家为政府打造决策支撑平台

企评家

Robot OS系统架构设计

轻口味

android 架构 Robot 4月月更

为什么我们需要做企业成长性评价分析?

企评家

未来可期,PlatoFarm的生态通证登录Bitmart等全球四大平台

BlockChain先知

GDB调试程序的核心技术-ptrace系统调用与使用示例

简说Linux内核

内存管理 Linux内核 进程管理 嵌入式开发 设备驱动

Linux操作系统I/O机制原理(流程图详解)

简说Linux内核

内存管理 Linux内核 进程管理 嵌入式开发 设备驱动

CSV Column Extract列提取

入门小站

工具

在线YAML转XML工具

入门小站

工具

C++内存池的简单原理及实现(纯代码解析)

简说Linux内核

Linux Linux服务器开发 Linux内核 嵌入式开发

LabVIEW控制电脑关机、休眠、注销和重启

不脱发的程序猿

LabVIEW LabVIEW控制电脑

模块四作业

HZ

架构实战营 #架构实战营

未来源码 | 吴恩达教授重磅演讲:Tips for using a data-centric AI approach

MobTech袤博科技

Pandas索引的操作

Peter

Python pandas

一个快速追踪密切接触者的开源脚本方案

冯骐

Python 数据分析 流调 密接 新冠疫情

毕业五年,如何从月薪5K涨到年薪50W+,需要掌握哪些核心技能?

简说Linux内核

内存管理 Linux内核 进程管理 驱动开发 嵌入式开发

在线YAML转XML工具

入门小站

工具

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