零基础秒懂:Kubernetes(k8s)到底是什么?它和 Docker 又是啥关系?
零基础秒懂:Kubernetes(k8s)到底是什么?它和 Docker 又是啥关系?
在后端开发的世界里,如果你已经熟悉了如何用 Docker 运行一个 Java 应用程序,那么下一步必然会遇到一个名为 Kubernetes(简称 k8s) 的巨兽。
简单来说,k8s 就像是一个超级智能的“大管家”,专门负责管理和调度运行在容器里的应用程序。为了让你彻底理解它,我们放下复杂的架构图,用最直观的比喻来拆解。
1. 为什么我们需要这个“大管家”?
假设你的应用程序是一个个集装箱(容器),而运行这些程序的服务器就是一艘艘货轮。
- 没有 k8s 时(手动模式):你需要手动把集装箱搬到船上。如果某条船沉了(服务器宕机),或者集装箱坏了(程序崩溃),你得大半夜爬起来亲自动手去修、去转移。
- 有了 k8s 后(全自动模式):k8s 就是那个全自动化的港口调度中心。你只需要给它下达一个指令:“我需要 5 个集装箱时刻保持运行”。它就会自动帮你把集装箱分配到合适的船上,并 24 小时盯着它们。
2. k8s 的三大核心“超能力”
自动修复(故障自愈)
如果某个程序崩溃了,或者某台服务器突然断电,k8s 会瞬间察觉,并立刻在其他健康的服务器上重新启动一个一模一样的程序。整个过程是自动的,用户甚至感觉不到故障的发生。
弹性伸缩(能屈能伸)
比如遇到抢购活动,访问量突然暴增,k8s 会根据你设定的规则,自动“克隆”出几十个相同的程序来分担压力;活动结束后流量降下来,它又会自动销毁多余的程序,帮你节省昂贵的服务器成本。
负载均衡(端水大师)
面对海量的用户请求,k8s 就像一个聪明的交警,会把流量均匀、合理地分发给背后的各个容器,确保没有哪一个程序会被“累死”。
3. 技术冷知识:为什么叫 k8s?
这是一个典型的程序员式冷幽默。因为 Kubernetes 这个单词实在太长了,首字母 k 到尾字母 s 之间正好隔着 8 个字母,所以大家为了偷懒(提高效率),就把它缩写成了 k8s。
4. Docker 与 k8s:它们是竞争对手吗?
这是一个常见的误区。实际上,它们不是竞争对手,而是完美搭档。用一句话总结:Docker 负责造“集装箱”,而 k8s 负责管“集装箱”。
交响乐团比喻
- Docker 是“乐器演奏家”:比如吹小号的。他非常专业,能把自己的乐谱吹得完美无缺,保证在任何舞台上(服务器)吹出来的声音都一样。
- k8s 是“指挥家”:指挥家自己不吹乐器,但他负责看着所有人。他决定什么时候让小号手声音大一点,什么时候让小提琴手加入。如果某个乐手突然晕倒了,指挥家会立刻安排替补顶上,保证整场演出不中断。
5. 核心区别对比表
| 特性 | Docker (容器技术) | Kubernetes / k8s (编排技术) |
|---|---|---|
| 扮演角色 | 乐器演奏家 / 集装箱制造者 | 乐团指挥家 / 港口调度中心 |
| 主要职责 | 创建、打包、运行单个容器 | 自动部署、扩展、管理海量容器 |
| 工作范围 | 通常在单台服务器上工作 | 跨多台服务器(集群)协同工作 |
| 解决问题 | 解决“环境不一致”的问题 | 解决“大规模容器难以手动管理”的问题 |
总结
在实际的生产环境中,这两者通常是结合使用的:你利用 Docker 把 Java 代码打包成镜像,然后把镜像交给 k8s,让它在你的服务器集群中大规模部署和巡检。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)