在当今云原生时代,Kubernetes(简称 K8s)已成为容器编排的事实标准。如果你正在使用 Debian 系统,并希望搭建自己的 Kubernetes 集群,那么本教程将为你提供一份详细、清晰、适合初学者的操作指南。无论你是运维新手还是开发人员,只要按照步骤操作,都能成功完成 Debian Kubernetes集群部署。
在开始之前,请确保你有以下资源:

Kubernetes 要求关闭 swap,否则 kubelet 无法启动:
sudo swapoff -a# 永久禁用:注释掉 /etc/fstab 中的 swap 行sudo sed -i '/ swap / s/^/#/' /etc/fstab为每台机器设置唯一主机名(例如 master、worker01),并在所有节点的 /etc/hosts 中添加映射:
# 在 master 节点执行sudo hostnamectl set-hostname master# 在 worker 节点执行sudo hostnamectl set-hostname worker01# 所有节点编辑 /etc/hosts,添加如下内容(替换为你的实际 IP)192.168.1.10 master192.168.1.11 worker01Kubernetes 推荐使用 containerd 作为容器运行时:
sudo apt updatesudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-releasecurl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io# 配置 containerdsudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.tomlsudo systemctl restart containerd在所有节点(Master 和 Worker)上执行以下操作:
curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpgecho "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt updatesudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectlcat <在 Master 节点上运行以下命令初始化集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16初始化成功后,你会看到类似如下的输出(请保存好 kubeadm join 命令,稍后用于加入 Worker 节点):
Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/configThen you can join any number of worker nodes by running the following on each as root:kubeadm join 192.168.1.10:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx按照提示配置 kubectl:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configKubernetes 需要 CNI 网络插件来实现 Pod 间通信。这里我们使用 Flannel:
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml在每个 Worker 节点上,以 root 身份运行前面保存的 kubeadm join 命令:
# 示例命令(请使用你自己的 token 和 hash)sudo kubeadm join 192.168.1.10:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx回到 Master 节点,运行以下命令检查节点状态:
kubectl get nodes如果一切正常,你会看到类似输出:
NAME STATUS ROLES AGE VERSIONmaster Ready control-plane 10m v1.28.0worker01 Ready <none> 2m v1.28.0恭喜!你已经成功完成了 Debian Kubernetes集群部署。现在你可以在这个集群上部署应用、学习服务发现、自动扩缩容等高级功能。本教程涵盖了从零开始搭建一个最小可行的 Kubernetes 集群所需的全部步骤,适合初学者快速上手。
记住,生产环境中还需考虑高可用(多 Master)、安全加固、监控日志等进阶主题。但对于学习和测试来说,这个单 Master 架构已经足够强大。
希望这篇关于 Kubernetes安装教程 的文章对你有所帮助。如果你在 Debian搭建K8s 的过程中遇到问题,欢迎查阅官方文档或社区论坛。容器编排系统的世界大门已经为你打开!
本文由主机测评网于2025-12-17发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025129080.html