一、硬件資源優化
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運行),減小鏡像大?。ńㄗh控制在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),避免日志文件過大。