下面从系统层、K8s 层、网络/存储、运维与性能几个维度,系统性地讲一下 如何优化 Debian 上的 Kubernetes 部署。内容适用于 kubeadm / 二进制 / Rancher / k3s 等常见部署方式。
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
overlay
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
modprobe br_netfilter
modprobe overlay
cat <<EOF | sudo tee /etc/sysctl.d/99-k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
vm.overcommit_memory = 1
fs.inotify.max_user_watches = 524288
fs.file-max = 2097152
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 8192
EOF
sysctl --system
swapoff -a
sed -i '/swap/d' /etc/fstab
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
kubelet 也要一致:
--cgroup-driver=systemd
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd \
--kube-reserved=cpu=500m,memory=512Mi \
--system-reserved=cpu=500m,memory=512Mi \
--eviction-hard=memory.available<200Mi,nodefs.available<10%"
编辑:
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
--kube-reserved=cpu=500m,memory=512Mi
--system-reserved=cpu=500m,memory=512Mi
| 场景 | 推荐 |
|---|---|
| 性能优先 | Cilium |
| 简单稳定 | Calico |
| 轻量 | Flannel |
| 云原生 | Cilium + eBPF |
✅ Cilium 在 Debian + 新内核下性能最好
net.core.netdev_max_backlog = 32768
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
dnsPolicy: ClusterFirstWithHostNet
或:
spec:
dnsConfig:
options:
- name: ndots
value: "2"
lsblk -o NAME,ROTA
ROTA=0 为 SSD
| 场景 | 推荐 |
|---|---|
| 数据库 | Local PV + SSD |
| 通用 | Ceph / Longhorn |
| 轻量 | hostPath(仅测试) |
apt install numactl
Pod 使用:
resources:
requests:
cpu: "2"
limits:
cpu: "2"
--topology-manager-policy=single-numa-node
apt install nftables
apt update && apt upgrade -y
--audit-log-path=/var/log/k8s-audit.log
| 问题 | 解决 |
|---|---|
| iptables 模式冲突 | 用 nftables 或 legacy |
| systemd 版本低 | Debian 11+ |
| 内核太旧 | 升级到 5.15+ |
| containerd 版本低 | 官方 repo |
✅ Debian 11 (Bullseye) 或 12 (Bookworm)
❌ 不推荐 Debian 10 以下
如果你愿意,我可以:
只要告诉我你的 K8s 版本 + 节点规模 + 业务类型 即可。