1. 系統基礎優化
sudo swapoff -a禁用Swap,再通過sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab永久移除Swap配置。/etc/sysctl.conf,添加以下參數優化網絡和內存性能:net.core.somaxconn = 65535 # 增加TCP連接隊列長度
net.ipv4.tcp_max_syn_backlog = 65535 # 提高SYN請求隊列容量
net.ipv4.ip_local_port_range = 1024 65535 # 擴大臨時端口范圍
net.ipv4.tcp_tw_reuse = 1 # 允許復用TIME-WAIT狀態的連接
vm.swappiness = 10 # 降低內存交換傾向(值越小越優先用物理內存)
執行sudo sysctl -p使配置生效。2. 硬件資源優化
lsblk確認磁盤類型,確保存儲類(StorageClass)配置為SSD類型。kubectl top nodes監控資源使用率,避免節點過載。例如,計算密集型Pod可分配更多CPU核心,內存密集型Pod分配更大內存。3. Kubernetes組件調優
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf,調整以下參數提升節點管理效率:--max-pods=110 # 增加單節點最大Pod數量(默認110,可根據節點資源調整)
--image-gc-high-threshold=85 # 鏡像垃圾回收觸發閾值(當磁盤使用率達85%時清理舊鏡像)
--image-gc-low-threshold=80 # 鏡像垃圾回收完成閾值
執行sudo systemctl daemon-reload && sudo systemctl restart kubelet使配置生效。--proxy-mode=ipvs),并調整連接跟蹤參數:--conntrack-max=1000000 # 增加連接跟蹤表大?。☉獙Ω卟l連接)
--conntrack-tcp-timeout-established=3600 # 調整TCP連接超時時間(減少無效連接占用)
--request-cpu=2、--request-memory=4Gi),并通過--max-requests-inflight=1000、--min-request-timeout=30s提高并發處理能力,避免API瓶頸。4. 網絡優化
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml。ip link set eth0 mtu 1500調整網卡MTU。5. 存儲優化
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ceph-rbd
provisioner: kubernetes.io/rbd
parameters:
monitors: mon1,mon2,mon3
pool: kubernetes
imageFeatures: layering
fsType: ext4
adminId: admin
adminSecretName: ceph-secret
userId: kube
userSecretName: ceph-secret-user
reclaimPolicy: Retain
volumeBindingMode: Immediate
6. 監控與日志
7. 定期維護
apt-get update && apt-get upgrade kubelet kubeadm kubectl更新組件。kubectl delete pod --field-selector=status.phase==Failed清理失敗Pod,kubectl get pv --no-headers | awk '$5=="Released" {print $1}' | xargs -I {} kubectl delete pv {}清理已釋放的PV。