温馨提示×

如何简化Debian K8s部署

小樊
40
2026-07-18 01:40:38
栏目: 智能运维

简化 Debian 上的 Kubernetes(K8s)部署,核心思路是减少手动配置、使用自动化工具、选择轻量组件。下面按“从简单到进阶”给你几种实用方案,并附上关键注意点。


一、最推荐:使用 kubeadm(官方标准,适合生产)

这是 Debian/Ubuntu 最常见、最稳定的方式,比手动一步步装简单很多。

1️⃣ 准备环境(所有节点)

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

# 加载内核模块
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# 网络参数
cat <<EOF | sudo 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

sudo sysctl --system

2️⃣ 安装 containerd(比 Docker 更轻)

sudo apt update
sudo apt install -y containerd

sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

# 启用 systemd cgroup
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

sudo systemctl restart containerd
sudo systemctl enable containerd

3️⃣ 安装 kubeadm / kubelet / kubectl

sudo apt-get install -y apt-transport-https ca-certificates curl gpg

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
sudo apt-mark hold kubelet kubeadm kubectl

4️⃣ 初始化 Master(只执行一次)

sudo kubeadm init \
  --pod-network-cidr=10.244.0.0/16

配置 kubectl:

mkdir -p $HOME/.kube
sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

5️⃣ 安装网络插件(推荐 Flannel)

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

✅ 到此,一个 简化但完整的 K8s 集群 已经可用。


二、更简化:使用 k3s(强烈推荐新手 / 测试 / 边缘)

如果你只是想 快速跑 K8s,不想折腾,直接上 k3s

一键安装

curl -sfL https://get.k3s.io | sh -
  • 自带 containerd
  • 自带 flannel
  • 单二进制
  • 资源占用极低

查看集群:

sudo k3s kubectl get nodes

适合:

  • 学习
  • CI/CD
  • 边缘 / 单机
  • Debian 老机器

三、自动化脚本(进阶)

你可以把上面步骤写成脚本,或使用:

  • Ansible + kubeadm
  • Terraform + kubeadm
  • Rancher UI(图形化)

四、常见简化技巧总结

场景 推荐方案
新手 / 测试 k3s
生产 / 标准 kubeadm + containerd
多节点自动化 Ansible
不想管网络 Flannel / Calico
资源有限 k3s

五、我可以继续帮你

你可以直接告诉我:

  • ✅ Debian 版本(11 / 12)
  • ✅ 单节点还是多节点
  • ✅ 用途(学习 / 生产 / CI / 边缘)
  • ✅ 要不要 GPU / 高可用

我可以给你 定制版一键部署方案或脚本

0