一、硬件资源优化
kubectl top nodes/kubectl top pods实时监控资源使用情况,针对性扩容。二、系统级调优
vm.max_map_count(增加虚拟内存映射区域,建议设为262144+)、vm.swappiness(降低交换空间使用,建议设为10以下)、vm.overcommit_memory(允许内存过度分配,设为1);优化网络参数:net.ipv4.tcp_tw_reuse(启用TIME_WAIT连接复用)、net.core.somaxconn(扩大监听队列,建议设为65535)、net.ipv4.tcp_max_syn_backlog(增大SYN队列,建议设为8192)。firewalld、postfix等不必要的服务,减少系统资源占用;若无需SELinux,可临时关闭(setenforce 0)或永久禁用(修改/etc/selinux/config)。三、Kubernetes组件调优
--max-pods参数(允许单节点运行更多Pod,建议根据节点资源设为100+);调整镜像垃圾回收阈值--image-gc-high-threshold(如85%)、--image-gc-low-threshold(如80%),定期清理无用镜像。iptables模式(性能优于IPVS);大规模集群启用IPVS模式,调整--conntrack-max(连接跟踪表大小,建议设为131072+)、--conntrack-tcp-timeout(TCP连接超时,建议设为3600s),优化连接处理效率。--max-requests-inflight(并发请求数,建议设为1000+)、--max-mutating-requests-inflight(并发变更请求数,建议设为500+),提升API处理能力;使用负载均衡器(如Nginx、HAProxy)分担API Server压力。四、网络优化
net.ipv4.ip_local_port_range设为1024-65535),提升并发连接能力。五、存储优化
ssd、hdd),根据应用需求动态分配存储(如mysql使用ssd类);设置PVC的storageClassName,避免手动指定PV,简化管理。ReclaimPolicy(Retain保留数据、Delete自动删除、Recycle重新创建),避免数据丢失或资源浪费。六、应用层优化
FROM golang:1.21 AS builder编译、FROM alpine:3.18运行),减小镜像大小(建议控制在100MB以内);移除不必要的文件(如测试文件、调试工具)。resources.requests(如cpu: "500m"、memory: "512Mi")和resources.limits(如cpu: "1"、memory: "1Gi"),避免资源争用;启用Horizontal Pod Autoscaler(HPA),根据CPU/内存使用率自动扩缩容(如kubectl autoscale deployment nginx --cpu-percent=80 --min=2 --max=10)。七、监控与日志管理
INFO,避免DEBUG日志过多),减少磁盘I/O压力;设置日志轮转(如logrotate),避免日志文件过大。