下面按常见场景给你说明在 Debian 上启动 Kubernetes(k8s)的方式,从“单机测试”到“生产集群”都会覆盖。
适合:学习、开发、测试
# 安装依赖
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
适合:真实集群 / 学习生产部署
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
# 关闭 swap
sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab
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
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
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
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
kubectl get nodes
systemctl status kubelet
sudo systemctl start kubelet
sudo systemctl restart kubelet
sudo systemctl enable kubelet
通常是 网络插件没装 或 swap 没关
推荐:
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
如果你愿意,可以告诉我:
我可以给你精确命令。