温馨提示×

k8s在debian如何启动

小樊
37
2026-09-08 07:34:23
栏目: 智能运维

下面按常见场景给你说明在 Debian 上启动 Kubernetes(k8s)的方式,从“单机测试”到“生产集群”都会覆盖。


一、最简方式(本地单机,推荐新手)

使用 Minikube(最省事)

适合:学习、开发、测试

# 安装依赖
sudo apt update
sudo apt install -y curl wget conntrack

# 安装 minikube
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

--driver=none 表示直接用 Debian 本机运行(不需要虚拟机)

查看状态:

minikube status
kubectl get nodes

二、使用 kubeadm(标准方式,推荐)

适合:真实集群 / 学习生产部署

1. 系统准备

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl

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

2. 安装容器运行时(containerd)

sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

3. 安装 kube 组件

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet

4. 初始化集群(Master)

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

初始化完成后:

mkdir -p $HOME/.kube
sudo cp -i /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

6. 查看节点

kubectl get nodes

三、启动 / 停止 k8s 相关服务

查看 kubelet 状态

systemctl status kubelet

启动 / 重启

sudo systemctl start kubelet
sudo systemctl restart kubelet

开机自启

sudo systemctl enable kubelet

四、常见问题

1. 节点 NotReady

通常是 网络插件没装swap 没关

2. Debian 版本

推荐:

  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)

3. 单节点可用

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

五、你适合哪种?

  • ✅ 学习 k8s 命令 → Minikube
  • ✅ 模拟生产环境 → kubeadm
  • ✅ 云上环境 → 直接用云厂商托管(不推荐自己装)

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

  • Debian 版本
  • 是不是 root 用户
  • 单节点还是多节点

我可以给你精确命令

0