在 Debian 上部署 Kubernetes(K8s)的配置要求,取决于你是单节点测试还是生产集群。下面按最低 / 推荐 / 生产三个层次给你一个清晰清单,并顺带说明 Debian 的注意事项。
适合:学习、开发、测试环境
方式:kubeadm + 单 Master(可带 worker)
| 项目 | 最低 | 推荐 |
|---|---|---|
| CPU | 2 核 | 4 核 |
| 内存 | 2 GB | 4–8 GB |
| 磁盘 | 20 GB | 40 GB+(SSD 更好) |
| 网卡 | 1 张 | 1 张(可多) |
✅ 可跑:
适合:生产或接近生产环境
| 项目 | 推荐 |
|---|---|
| CPU | 4 核+ |
| 内存 | 8 GB+ |
| 磁盘 | 100 GB+ SSD |
| 网卡 | 1 Gbps |
| 项目 | 推荐 |
|---|---|
| CPU | 4–8 核 |
| 内存 | 8–16 GB |
| 磁盘 | 100 GB+ SSD |
| 网卡 | 1 Gbps |
✅ 建议:
overlaybr_netfilteruname -r
swapoff -a
sed -i '/swap/d' /etc/fstab
cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
apt install -y containerd
配置:
containerd config default > /etc/containerd/config.toml
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
systemctl restart containerd
Kubernetes 已弃用 dockershim
| 组件 | 建议 |
|---|---|
| kubeadm | 1.28–1.30 |
| kubelet | 同 kubeadm |
| kubectl | 同 kubeadm |
| CRI | containerd |
常见选择:
| 插件 | 适合 |
|---|---|
| Calico | ✅ 生产推荐 |
| Flannel | 简单 |
| Cilium | 高性能 / eBPF |
Calico 示例:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
# 1. 禁用 swap
# 2. 安装 containerd
# 3. 安装 kubeadm kubelet kubectl
# 4. 初始化
kubeadm init --pod-network-cidr=10.244.0.0/16
# 5. 配置 kubectl
mkdir -p $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config
# 6. 安装网络插件
kubectl apply -f calico.yaml
Debian 部署 K8s 推荐:Debian 12 + containerd + kubeadm + Calico,Master 8G 内存起步,Worker 按业务扩容。
如果你愿意,我可以:
你现在是 学习 / 测试 / 生产 哪种场景?