三个核心要求:
1. Pod 间的通信 (不经过 NAT)
2. Node 和 Pod 间的通信
3. Pod 看到自己的 IP 和其他 Pod 看到的相同
| 插件 | 模式 | 特点 | 适用 |
|---|---|---|---|
| Calico | BGP/IPIP/VXLAN | 网络策略强, 性能好 | 大型集群 |
| Flannel | VXLAN/host-gw | 简单, 轻量 | 小型/学习 |
| Cilium | eBPF | 超高性能, 可观测 | 高性能场景 |
| Weave | VXLAN | 加密, 多播 | 安全要求高 |
kube-proxy 三种模式:
| 模式 | 实现 | 特点 |
|---|---|---|
| iptables | iptables NAT 规则 | 默认, 规则多时性能差 |
| IPVS | IPVS 内核模块 | 高性能, 支持多种调度算法 |
| 用户空间 | 代理转发 | 旧模式, 已不推荐 |
# 查看 kube-proxy 模式
kubectl get cm kube-proxy -n kube-system -o yaml | grep mode
# IPVS 调度算法
# rr: 轮询 (默认)
# lc: 最少连接
# sh: 源地址哈希 (会话保持)
Pod → PVC (PersistentVolumeClaim) → PV (PersistentVolume) → 实际存储
↑
StorageClass (动态供应)
| 模式 | 说明 |
|---|---|
| ReadWriteOnce (RWO) | 单节点读写 |
| ReadOnlyMany (ROX) | 多节点只读 |
| ReadWriteMany (RWX) | 多节点读写 |
# PVC 示例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: gp2
标准化的存储插件接口,支持 AWS EBS、GCE PD、Ceph RBD、NFS 等。