第 00 篇:一张地图看清容器与 Kubernetes:控制面、数据面与核心对象全景(底座认知 00)
容器与 Kubernetes 全景导读
底座认知 · 第 00 篇
一张地图看清容器、K8s 及其背后的组件体系
目 录
一、为什么要学容器
二、容器技术演进脉络
三、Kubernetes 是什么
四、K8s 的组件体系全景
4.1 控制面组件
4.2 数据面组件
五、核心抽象对象
六、本系列学习地图
一、为什么要学容器
传统应用部署依赖物理机或虚拟机,存在环境不一致、资源利用率低、交付链路冗长等问题。容器通过操作系统层面的隔离,将应用连同其依赖打包成一个可移植的单元,从根源上解决了「在我机器上能跑」的难题。
容器与虚拟机的本质区别在于「隔离在哪里做」:虚拟机通过 Hypervisor 虚拟化整台机器,每台虚拟客机含完整内核;容器则直接共享宿主机内核,仅用命名空间与 cgroup 做隔离与限制。
对比维度 | 虚拟机 | 容器 |
隔离层级 | 硬件级(完整内核) | 进程级(共享宿主内核) |
启动速度 | 秒级~分钟级 | 毫秒级 |
资源占用 | 高(每台含 OS) | 低(仅应用进程) |
密度 | 低 | 高 |
可移植性 | 依赖 Hypervisor | 镜像即交付,随处可跑 |
二、容器技术演进脉络
- 2008 年 LXC 出现,提供内核级容器能力
- 2013 年 Docker 诞生,将镜像、仓库、编排等体验产品化,容器进入主流
- 2017 年 Docker 捐出 containerd 给 CNCF(云原生计算基金会),运行时走向标准化
- Kubernetes 由 Google 发起,成为容器编排的事实标准,由 CNCF 托管
今天 K8s 关注的已不只是「跑容器」,而是整个分布式应用的全生命周期:调度、弹性、存储、网络、安全、发布、自愈。容器是 K8s 承载的「最小积木」,但 K8s 的管理单元是更高一层的 Pod。
三、Kubernetes 是什么
Kubernetes(常简称 K8s,因 K 与 s 之间有 8 个字母)是一个开源的容器编排平台,核心价值是:声明式地描述期望状态,并持续驱动实际状态向其收敛。
- 调度:自动把工作负载分配到最合适的节点
- 自愈:节点或容器故障时自动重建与迁移
- 弹性:按负载水平扩缩容
- 服务发现与负载均衡:通过 Service 提供稳定访问入口
- 滚动发布与回滚:无中断地升级应用
四、K8s 的组件体系全景
K8s 从逻辑上分为控制面(Control Plane)与数据面(Worker Node)两部分。控制面负责「决策」,数据面负责「执行」。
4.1 控制面组件
组件 | 职责 |
kube-apiserver | 唯一对外网关,所有组件与用户请求的唯一入口 |
etcd | 集群状态的权威存储,键值数据库 |
kube-scheduler | 为新 Pod 挑选最合适的节点 |
kube-controller-manager | 运行各类控制器,驱动状态收敛 |
4.2 数据面组件
组件 | 职责 |
kubelet | 每个节点上的主代理,负责 Pod 生命周期与容器运行 |
kube-proxy | 实现 Service 的网络转发与负载均衡 |
容器运行时 | 实际创建与运行容器(如 containerd、CRI-O) |
五、核心抽象对象
- Pod:最小调度单元,可包含一个或多个容器
- Deployment / ReplicaSet:无状态应用的声明式管理
- StatefulSet:有状态应用的稳定网络标识与存储
- Service:Pod 的稳定访问入口与负载均衡
- ConfigMap / Secret:配置与敏感信息解耦
- PV / PVC:持久化存储抽象
六、本系列学习地图
「底座认知」系列共 9 篇,从容器基础一路讲到一次请求在集群中的完整流转,为你后续学习调度、存储、网络、安全打下地基:
篇 | 主题 | 核心内容 |
00 | 全景导读 | 容器与 K8s 整体认知(本篇) |
01 | 命名空间与 cgroup | 容器隔离与资源限制的底层机制 |
02 | 镜像与容器运行时 | 镜像分层、containerd 架构 |
03 | 从容器到 Pod | Pod 的组成、pause 容器、多容器模式 |
04 | kube-apiserver | 唯一网关、认证授权准入 |
05 | etcd | 状态权威存储、事务与快照 |
06 | scheduler 与 controller-manager | 调度流程与控制器模式 |
07 | kubelet 与 kube-proxy | 节点代理与 Service 转发 |
08 | 一次 kubectl apply 的旅程 | 全链路请求流转收尾 |
掌握了本篇的地图,后续每一篇都会落到「组件职责 → 请求流转 → 生产要点」的框架上,帮助你既懂原理、又会上手。