返回 ELI5 知识库首页 ☸️ CLOUD NATIVE ORCHESTRATION
☸️ Kubernetes · Container Orchestration · Cloud Operating System

什么是 Kubernetes(K8s 容器总指挥)?

如果 Docker 造出了一个个标准的海运集装箱;那么 Kubernetes (K8s) 则是超级自动化集装箱码头的“总调度指挥官” —— 负责指挥成千上万艘货轮、自动搬运货物、挂掉自动重启(自愈),并在早晚高峰自动调来更多船只(弹性扩缩容)!

🏃‍♂️ 纯人工运维:人肉救火队员

半夜宕机打电话,手动重启敲命令

当业务扩大到几千个 Docker 容器时,人工不可能记住每个容器在哪个 IP、哪台物理机坏了、哪个服务需要扩容,运维工程师随时处于崩溃边缘!

容器崩溃 💥 无人知晓 半夜 3点报警 🚨 人工 SSH 敲代码重启 ⚠️ 规模一旦上千,人工运维必死无疑
  • 无自动自愈:容器死掉必须人工干预恢复
  • 流量负载混乱:无法动态路由网络流量,升级必停机断网
VS
☸️ K8s 声明式自治:全自动智慧港口

声明期望状态,系统自主闭环搞定

你只需声明“我要 3 个 Web 副本”。某个节点如果烧了,K8s 0.5 秒内自动在另一台机器重新拉起;早高峰流量涌入,自动横向扩容至 10 个副本!

☸️ K8s Control Plane (控制面) Worker Node 1 Pod A Pod B Worker Node 2 自动自愈 ✔ ✨ 声明式 API · 故障秒级自愈与弹性扩缩容!
  • 自愈机制(Self-Healing):节点故障自动漂移重新调度
  • 滚动更新(Rolling Update):零停机平滑升级版本,随时回滚
💡

一句话顿悟:为什么名字叫 K8s?

因为 K-u-b-e-r-n-e-t-e-s 单词从首字母 K 到尾字母 s 中间正好有 8 个字母,所以工程师亲切地简称为 K8s(希腊语意为“舵手 / 指挥官”)。 它是当代整个云计算与 AI 大模型集群的“分布式操作系统内核”

拆解 K8s 帝国的 4 大核心原子构件

从最小计算单元到服务网络,读懂容器编排精髓

🌱

1. Pod 豌豆荚(最小单元)

K8s 调度的最小原子单位。一个 Pod 里可以包含一个或多个紧密协作的 Docker 容器,共享相同的网络 IP 与磁盘存储。

📋

2. Deployment 部署控制器

负责管理 Pod 副本数量与生命周期。保证“期望状态”始终等于“现实状态”,负责无死角的滚动发布与回滚。

🧭

3. Service 负载均衡与网络

给动态变动 IP 的 Pod 们提供一个永恒不变的虚拟统一入口 IP,自动将外界请求均匀分发给背后健康的 Pod 们。

🧠

4. Control Plane 大脑中枢

API Server(接待前台)、etcd(真理数据库)、Scheduler(决策调度员)与 Controller Manager(监管管家)组成。

🕹️ K8s 集群自愈与弹性扩缩容演练台

模拟一个包含 2 台物理 Node 的 K8s 集群,观察声明式控制器如何秒级自愈与扩容:

🖥️ Node-01 (192.168.1.10) Ready
🌱 pod-web-1
🌱 pod-web-2
🖥️ Node-02 (192.168.1.11) Ready
🌱 pod-web-3
☸️ $ kubectl get deployment web-app
NAME: web-app
DESIRED: 3 | CURRENT: 3 | UP-TO-DATE: 3 | AVAILABLE: 3
状态:集群健康,流量在 2 台节点间完美分发!
✔ 控制循环 (Reconcile Loop) 达成预期
🏛️ 谷歌基因

从 Borg 绝密系统到开源霸主

Google 内部十几年间一直用名为 Borg 的神秘系统调度其全球几十亿个容器任务。

2014 年 Google 将 Borg 的设计精髓用 Go 语言重写并开源,正是如今一统天下的 Kubernetes!

🤖 AI 算力集群中枢

KubeRay 与万卡大模型训练

现代 ChatGPT 与 DeepSeek 训练依赖数万张英伟达 H100 显卡。

底层正是由 Kubernetes + KubeRay / Slurm 协同调度,负责 GPU 拓扑感知、断点续训(Checkpoint)与网络故障自愈。

🌟 声明式哲学

命令式 vs 声明式

传统命令式是“你去把那台机器的第 3 个进程杀掉再启动”

而 K8s 的声明式哲学是“我不管你怎么做,反正系统里必须时刻活着 3 个副本” —— 赋予了云原生无与伦比的自愈抗脆弱性。