温馨提示×

debian能否单机部署k8s

小樊
52
2026-09-02 06:45:55
栏目: 智能运维

可以的,Debian 完全可以单机部署 Kubernetes(K8s),而且这是学习和测试 K8s 的常见做法。

下面给你几种在 Debian 单机部署 K8s 的主流方案和注意事项。


一、常见单机部署方案

✅ 方案 1:kubeadm(官方推荐,最接近生产)

适合:

  • 学习 K8s 原理
  • 模拟多节点环境(单节点也行)

特点

  • 官方工具
  • 支持单节点(control-plane + worker 合一)
  • 可后续扩展节点

简要步骤(Debian 12 示例)

# 1. 关闭 swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab

# 2. 安装容器运行时(containerd)
sudo apt install -y containerd
sudo modprobe br_netfilter

# 3. 安装 kubeadm / kubelet / kubectl
sudo apt install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl

# 4. 初始化单节点集群
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

# 5. 允许 master 运行 pod
kubectl taint nodes --all node-role.kubernetes.io/control-plane-

# 6. 安装网络插件(如 Flannel)
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

⚠️ 注意:Debian 默认用 containerddocker(docker 需额外配置)


✅ 方案 2:Minikube(最简单,适合新手)

适合:

  • 本地学习
  • 不想折腾 kubeadm

特点

  • 一条命令起集群
  • 支持 docker / none 驱动
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

minikube start --driver=none

✅ 在 Debian 上用 --driver=none 就是“真单机 K8s”


✅ 方案 3:K3s(轻量级,资源占用低)

适合:

  • 低配机器
  • 边缘 / 测试环境
curl -sfL https://get.k3s.io | sh -

默认就是 单节点可用


二、Debian 单机 K8s 的注意事项

1️⃣ 资源要求

项目 最低
CPU 2 核
内存 2GB(建议 4GB+)
磁盘 20GB

2️⃣ 必须关闭 swap

K8s 不支持 swap:

sudo swapoff -a

3️⃣ 网络插件必须装

否则 Pod 之间不通(Flannel / Calico)

4️⃣ 单机 ≠ 高可用

  • 节点挂了,集群就挂
  • 仅适合学习 / 测试

三、该选哪个?

场景 推荐
学 K8s 原理 kubeadm
快速体验 Minikube
低资源机器 K3s
以后扩节点 kubeadm / K3s

如果你愿意,可以告诉我:

  • Debian 版本(11 / 12)
  • 用途(学习 / 测试 / 跑服务)
  • 机器配置

我可以直接给你一步到位的部署命令

0