1. 它是谁?
Kubernetes 是 Google 发明的开源工具,专门用来管理成千上万的 容器(比如 Docker 容器)。
容器就像“标准化快递箱”,装着你的应用(如网站、API),而 Kubernetes 是“快递调度中心”,负责把箱子送到正确的仓库(服务器),并确保它们稳定运行。
2. 核心功能
- 自动化部署:
告诉 Kubernetes “我要运行 3 个 Web 服务器”,它自动分配到不同服务器,并保持数量稳定。如果一台服务器宕机,会自动重建服务器。 - 弹性伸缩:
双十一流量暴增时,只需说“扩容到 10 台服务器”,Kubernetes 会自动增加资源;流量下降后自动缩减,省钱又省心。 - 自我修复:
如果某个 Web 服务器崩溃,Kubernetes 会立刻重启或替换它,用户几乎无感知。 - 多云支持:
可以同时管理阿里云、AWS 等不同云服务商的服务器,避免被单一平台绑架。
3. 关键概念(小白版)
- Pod:
最小的运行单位,像“一个房间”,里面可能住着多个容器(比如 Web 服务器 + 日志收集器),共享网络和存储。 - Deployment:
声明“我要多少个 Pod 副本”,并控制如何更新(比如先更新 1 台,确认没问题再更新全部)。 - Service:
给一组 Pod 起个统一名字(如web-service
),其他 Pod 或用户通过这个名字访问,内部自动负载均衡。 - Volume:
给 Pod 提供“永久储物柜”,即使 Pod 重启,数据(如用户上传的图片)也不会丢失。 - Namespace:
隔离环境,比如开发区
和生产区
,互相不影响。
4. 为什么用它?
- 省时省力:手动管理 100 台服务器?Kubernetes 一键搞定。
- 高可用:服务器故障?自动恢复,业务不断。
- 灵活扩展:从 1 台到 1000 台,按需调整。
- 适合场景:微服务、电商大促、AI 训练等需要弹性计算的任务。
5. 举个栗子 🌰
假设你要开一家“云上餐厅”:
- Pod = 厨房(运行菜谱应用)+ 收银台(支付服务)。
- Deployment = 决定开 3 家分店(Pod 副本)。
- Service = 总机号码,顾客打电话时自动转接到空闲分店。
- Volume = 冷冻库,保存食材(数据)不坏掉。
- Kubernetes = 智能管家,自动处理分店装修、员工招聘、应对客流高峰。
总结:Kubernetes 是容器时代的“瑞士军刀”,让复杂的应用管理变得像点外卖一样简单。想深入学习?先掌握 Pod、Deployment、Service 这三个核心概念!