🌐 网络
关于本模块
网络是云原生运维中最核心也最复杂的领域。从基础的 TCP/IP 协议栈,到 Kubernetes 的 CNI 网络模型、Service 通信、网络策略,再到 Istio 等服务网格——掌握网络知识是排查集群问题的关键能力。
#network#networking#cni#cloud-native
📂 子模块
| 模块 | 说明 | 关联笔记 |
|---|---|---|
| 📖 网络基础 | TCP/IP、DNS、HTTP/HTTPS、OSI 模型 | [[CRC 循环冗余校验原理 |
| 🔌 CNI 插件 | Flannel、Calico、Cilium 原理与对比 | [[eBPF 技术详解 |
| 🛡️ 网络策略 | NetworkPolicy、网络隔离与安全 | [[firewalld 与 iptables 对比 |
| ☁️ 服务网格 | Istio / Linkerd 原理与部署 | — |
| 🔍 排错工具 | tcpdump、Wireshark、netstat 实战 | ../linux/故障排查/服务器 IO 过高排查流程、../linux/storage/iostat 命令详解 |
📋 云原生网络核心概念
K8s 网络模型(4 个核心要求)
| 要求 | 说明 | 面试价值 | 关联组件 |
|---|---|---|---|
| Pod 间互通 | 任意 Pod 可不经 NAT 直接通信 | ⭐⭐⭐⭐⭐ | ../kubernetes/core/K8s 组件详解#kube-proxy |
| 节点与 Pod 互通 | 节点可直接访问任意 Pod | ⭐⭐⭐⭐ | ../kubernetes/core/K8s 核心概念#🌐 网络与通信 |
| Pod 自身视角 | Pod 看到的 IP 与世界看到的 IP 一致 | ⭐⭐⭐⭐ | [[eBPF 技术详解 |
| 端口无冲突 | Pod 可使用任意端口,无需担心冲突 | ⭐⭐⭐ | [[firewalld 与 iptables 对比 |
K8s 网络层次
flowchart TD
subgraph "K8s 网络层次"
L1["① 容器网络<br/>eth0 ↔ veth pair ↔ cni0/bridge"]
L2["② Pod 网络<br/>CNI 插件管理 Pod IP 分配"]
L3["③ Service 网络<br/>ClusterIP / kube-proxy 规则"]
L4["④ 入站网络<br/>Ingress / Gateway API"]
L5["⑤ 服务网格<br/>Sidecar 代理 / mTLS"]
end
L1 --> L2 --> L3 --> L4 --> L5
🔧 常用排错命令
# 连通性测试
kubectl exec -it <pod> -- ping <target-ip>
kubectl exec -it <pod> -- curl -v <service>:<port>
# DNS 排查
kubectl exec -it <pod> -- nslookup <service>
kubectl exec -it <pod> -- cat /etc/resolv.conf
# 节点网络
ss -tuln | grep <port> # 端口监听状态
iptables -L -n -t nat # NAT 规则(kube-proxy 模式)
ip route # 路由表
ip neigh # ARP 表
# 抓包
tcpdump -i any port 80 -nn # 抓取 80 端口流量
近期笔记
关联文档
- ../kubernetes/core/K8s 核心概念#🌐 网络与通信 — Service、Ingress 概念
- ../kubernetes/service/K8s Service DNS 实现原理 — CoreDNS 解析流程
- ../kubernetes/使用 kubeadm 创建集群/使用 kubeadm 创建集群 — 集群搭建中的网络配置
- ../linux/system/Linux — 网络排错依赖 Linux 命令 -technology/eBPF 技术详解 — Cilium/CNI 底层核心技术 -tools/firewalld 与 iptables 对比 — Linux 防火墙配置
- ../kubernetes/core/K8s 组件详解#kube-proxy — Service 流量转发核心
最后更新:2026-06-02