20260129
CNI(Container Network Interface):容器网络接口
| 插件 | 类型 | 特点 |
|---|---|---|
| Calico | BGP / eBPF | 支持 NetworkPolicy,高性能,适合生产 |
| Flannel | VXLAN / host-gw | 轻量简单,仅提供基础 overlay 网络 |
| Cilium | eBPF | L3-L7 网络策略、可观测性、Hubble UI |
| Weave Net | VXLAN | 自带加密,适合小型集群 |
| Antrea | OVS | 基于 Open vSwitch,支持 Traceflow |
CRI(Container Runtime Interface):容器运行时接口
| 运行时 | 是否原生支持 CRI | 说明 |
|---|---|---|
| containerd | ✅ 是 | Docker 引擎的核心组件,轻量高效,K8s 官方推荐 |
| CRI-O | ✅ 是 | 专为 K8s 设计,符合 OCI 标准,Red Hat 主导 |
| Docker Engine | ❌ 否 | 需通过 dockershim(K8s v1.20+ 已移除) |
| Podman | ✅(通过 podman kube 或 CRI-O) |
无守护进程,rootless 容器支持好 |
| 缩写 | 负责什么 | 关键词 | 你该记住的 |
|---|---|---|---|
| CNI | 网络 | IP 分配、跨节点通信、NetworkPolicy | “Pod 的网卡谁来配?” → CNI |
| CRI | 运行时 | 启动容器、拉取镜像 | “Pod 的容器谁来跑?” → CRI |
CRI 负责“把容器跑起来”,CNI 负责“让容器能联网” —— 二者协同,构成 K8s 容器基础设施的基石。
| 接口/机制 | 负责领域 | 通信方式 | 典型实现 |
|---|---|---|---|
| CRI | 容器运行时 | gRPC (Unix Socket) | containerd, CRI-O |
| CNI | 网络 | 可执行二进制 + JSON | Calico, Cilium |
| CSI | 存储 | gRPC (Unix Socket) | AWS EBS CSI, Ceph CSI |
| Device Plugins | 硬件设备 | gRPC (Unix Socket) | NVIDIA GPU Plugin |
| Scheduler Plugins | 调度 | Go 插件 / Webhook | Custom Scoring Plugin |
| Admission Webhooks | API 准入控制 | HTTPS Webhook | Kyverno, Istio |
| CCM | 云平台集成 | 独立控制器 | aws-cloud-controller-manager |
| RuntimeClass | 运行时选择 | K8s API | kata-qemu, gvisor |
浙公网安备 33010602011771号