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 # 增加连接跟踪表大小(应对高并发连接)
--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。