CentOS 上部署 Kubernetes 的性能提升清单
一 基础环境与内核先行
swapoff -a,并注释 /etc/fstab 中的 swap 行,避免内存换页影响延迟与稳定性。br_netfilter 并设置 net.bridge.bridge-nf-call-iptables=1、net.bridge.bridge-nf-call-ip6tables=1、net.ipv4.ip_forward=1,确保容器桥接流量可被 iptables/ip6tables 正确过滤与转发。fs.file-max=1000000、fs.inotify.max_user_instances=524288、fs.inotify.max_user_watches=524288,避免高并发场景的文件/事件描述符瓶颈。net.ipv4.neigh.default.gc_thresh1=1024、gc_thresh2=4096、gc_thresh3=8192,net.core.netdev_max_backlog=16384,降低大规模节点/连接下的丢包与抖动。net.netfilter.nf_conntrack_max=10485760、net.netfilter.nf_conntrack_tcp_timeout_established=300、net.netfilter.nf_conntrack_buckets=655360,net.ipv4.ip_local_port_range=45001 65000,缓解高并发短连接场景的 conntrack 瓶颈。二 网络与 kube-proxy 优化
kube-proxy 启用 IPVS 模式(需预加载 ip_vs 系列模块),在高并发短连接/大量 Service 场景下较 iptables 有显著性能优势。net.netfilter.nf_conntrack_max 与 nf_conntrack_tcp_timeout_established,减少 conntrack 表项回收导致的丢包与性能抖动。net.core.rmem_max、net.core.wmem_max,优化大流量传输与高并发场景的 TCP 收发缓冲。三 控制平面组件与 etcd 调优
--max-requests-inflight 与 --max-mutating-requests-inflight,避免高峰期排队与超时。--quota-backend-bytes=8589934592 即 8GB),并提升 对等网络流量优先级,降低 leader/follower 之间的心跳与复制延迟。四 存储与容器运行时优化
containerd/docker 设置合理的日志轮转(如 max-size=100m),避免磁盘被日志撑满。native.cgroupdriver=systemd),按需调整 kubelet 并发度、镜像拉取超时、单节点最大 Pod 数,提升节点就绪与应用启动速度。五 快速检查与落地顺序
iperf3 做节点间带宽/抖动基线,配合 Prometheus + Grafana 观察 P99 延迟、TCP retrans、conntrack 使用率、API Server 延迟/排队 等关键指标,验证优化成效。br_netfilter 与基础 sysctl;