什么是 Kubernetes
本教程共 65 篇 · 第 1 篇 · 更新于 2026-08-14 · 约 12 分钟阅读
本节目标:用最朴素的话讲明白 Kubernetes 是什么、它和 Docker 是什么关系,以及为什么现在做后端绕不开它。
先别被这个名字吓到。Kubernetes 读作 “库伯奈提斯”,官方常缩写叫 k8s(k 和 s 中间有 8 个字母)。它是 Google 在 2014 年开源的一套系统,专门用来管理容器化的应用。
打个比方。你用 Docker 把应用打包成一个个集装箱(容器),一艘货轮能装几十个。Docker 解决的是”怎么把货打好包”的问题。可当集装箱上了千、分布在几十艘船上,谁该停哪、坏了怎么换、船满了怎么调度——这些 Docker 自己管不过来。Kubernetes 就是那个港口调度中心。
1-1 先搞懂:容器解决了什么
要理解 k8s,得先理解容器。
早些年,程序直接装在物理服务器上。一台机器跑一个应用,资源浪费得厉害;想省点钱就多塞几个,结果一个程序吃满内存,把邻居全拖垮。后来有了虚拟机,一台物理机切出好几台虚拟机,隔离是好了,可每台都要带一套完整操作系统,重、启动慢。
容器换了个思路:多个容器共用宿主机的操作系统内核,但彼此隔离。它比虚拟机轻得多,启动只要几秒,甚至几百毫秒。镜像是不可变的——你在笔记本上打好包,丢到任何服务器上跑,表现都一样。
Note容器 ≠ Docker。Docker 是目前最流行的容器引擎,但容器是一种技术标准(OCI)。k8s 不关心你用 Docker 还是别的运行时,它只管调度这些容器。
1-2 容器多了,问题就来了
单个容器很好用。可一旦上了生产,麻烦接踵而至:
- 一个容器挂了,谁来把它拉起来?
- 流量涨了,要手动起十个副本,怎么均分请求?
- 某台机器宕机,上面的容器怎么办?
- 程序要升级,能不能做到用户无感知?
这些问题,靠人手去敲命令是搞不定的。你需要一个系统,替你盯着所有这些容器。这就是 Kubernetes 出场的原因。
Tip简单记:Docker 负责”造集装箱”,Kubernetes 负责”管一堆集装箱”。两者是搭档,不是替代关系。
1-3 Kubernetes 到底能帮你做什么
官方把 k8s 的能力列了一长串,我挑最实在的讲:
服务发现与负载均衡。 容器 IP 会变,k8s 给一组容器一个稳定的访问入口,自动把流量分摊过去。
存储编排。 它能自动挂上你指定的存储,不管是本地盘还是云盘。
自动部署与回滚。 你告诉它”我要这个状态”,它慢慢把系统调到那个状态。升级出岔子,一条命令退回上个版本。
自动装箱。 你说每个容器要多少 CPU、内存,k8s 自己算怎么摆最省资源。
自我修复。 容器挂了它重启,不健康的它剔除,没就绪前不接流量。
密钥与配置管理。 密码、令牌这些敏感信息单独存,不必写死在镜像里。
水平扩缩。 一句命令、点一下按钮,或者按 CPU 自动增减副本数。
1-4 它不是什么
这点很多新手会误会,我提前说清楚。
Kubernetes 不是传统的 PaaS(平台即服务),它不是个大而全的万能箱。它不替你写代码、不替你构建镜像、不内置数据库或消息队列。这些软件你照常自己跑在 k8s 上。
它也不仅仅是个”编排系统”。编排的意思是”先 A、再 B、再 C”的流水线。k8s 更高级:你只说想去哪儿(期望状态),它自己想办法把你送到那儿,中间怎么走你不用管。
Warning别一上来就想着用 k8s 管理一个小网站。它自身有学习成本和运维负担。项目小、流量低时,一台虚拟机加 Docker 可能就够了。k8s 的威力在规模化和高可用上。
1-5 k8s 是怎么来的
Kubernetes 的名字源自希腊语,意思是”舵手”。它脱胎于 Google 内部跑了十几年的 Borg 系统——那套系统管着 Google 全球的数据中心。2014 年 Google 把它开源,结合了社区里最好的实践经验,慢慢成了容器编排领域的事实标准。
今天你用的 k8s 版本,本文档基准是 v1.36.2(2026 年 6 月发布,官方支持到 2027 年 6 月)。后续章节都以此版本为准。
1-6 一个最小认知模型
你只需要记住这张”三层图”:
- 容器(Container):跑应用的最小单位,相当于一个集装箱。
- Pod(容器组):k8s 调度的最小单位,一个 Pod 里可以有一个或多个容器,它们共享网络。
- 集群(Cluster):一群机器(节点)组成,k8s 在整群机器上调度 Pod。
后面的章节会一层层展开。你先建立这个骨架,后面把肉填进去就轻松了。
Tip学 k8s 最快的弯路,就是一上来死磕概念。建议你看完前 10 章、亲手用 minikube 跑一个应用,再回头啃架构,会顺很多。
1-7 到底哪些场景该上 k8s
不是所有项目都适合 k8s。我给你一个粗判标准:
- 适合上:服务多、要频繁发布、对可用性要求高、需要弹性应对流量波动。典型的互联网后端、微服务架构,几乎是 k8s 的主场。
- 可以先不上:个人小项目、流量极低的内网工具、团队里没人愿意运维。这时候一台虚拟机加 Docker Compose 反而更省心。
还有一个常见误会:以为上了 k8s 就能”自动变快”。其实 k8s 不提升单请求性能,它提升的是”规模下的可靠性和可运维性”。如果你的瓶颈是慢 SQL,k8s 救不了你。
Tip判断要不要学 k8s,和判断要不要上 k8s,是两件事。哪怕你现在公司用不上,把它学懂,对你理解”现代后端怎么跑”也很有价值。这本书就是帮你学懂的。
1-8 小结
回头看,本章你建立了三个认知:容器解决了”打包标准化”,Kubernetes 解决了”运行规模化”;它是调度中心而非单纯编排器;它由集群、节点、Pod、容器一层层组成。带着这个骨架,下一章我们聊:既然容器本身已经够好了,为什么非得要 Kubernetes?它到底带来了什么云原生价值。