Debian环境下Kubernetes怎么安装
导读:在 Debian 上用 kubeadm 安装 Kubernetes 单主集群 一 环境准备与前置检查 准备至少 2 核 CPU、2GB 内存、20GB 磁盘 的 Debian 11/12 主机,建议使用 Debian 12(Bookwor...
在 Debian 上用 kubeadm 安装 Kubernetes 单主集群
一 环境准备与前置检查
- 准备至少 2 核 CPU、2GB 内存、20GB 磁盘 的 Debian 11/12 主机,建议使用 Debian 12(Bookworm);至少 1 台 Master + 1 台 Worker。
- 所有节点:
- 更新系统:
sudo apt update & & sudo apt upgrade -y - 安装基础工具:
sudo apt install -y apt-transport-https ca-certificates curl - 设置唯一 主机名,并确保节点间 网络互通 与 时间同步(如 chrony)。
- 关闭 Swap:
sudo swapoff -a,并注释 /etc/fstab 中的 swap 行。 - 防火墙/安全组放行端口:
- Master:6443、2379–2380、10250、10251、10252
- Worker:10250、30000–32767
- 检查网卡与地址:
ip a、hostname -I,确保 API Server 广告地址 可达。
- 更新系统:
二 安装容器运行时 Containerd(推荐)
- 安装与启用:
sudo apt update & & sudo apt install -y containerdsudo systemctl enable --now containerd
- 生成默认配置并启用 SystemdCgroup:
sudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.toml- 编辑
/etc/containerd/config.toml,将[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]下的SystemdCgroup设为 true。 sudo systemctl restart containerd
- 说明:Kubernetes 自 v1.24 起移除内置 dockershim,生产环境建议使用 Containerd 或 CRI-O;若你更熟悉 Docker,也可安装 Docker 并配置其使用 containerd 作为运行时(本文以 containerd 为主)。
三 安装 kubeadm kubelet kubectl
- 添加 Kubernetes APT 源(Debian 11/12 均可用 xenial 仓库名):
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.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.list
- 安装组件并锁定版本:
sudo apt update & & sudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectlsudo systemctl enable --now kubelet
四 初始化控制平面与配置 kubectl
- 在 Master 节点初始化(按需替换参数):
- 使用 Flannel 时推荐:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 - 如需指定 API 广告地址:
sudo kubeadm init --apiserver-advertise-address=< MASTER_IP> --pod-network-cidr=10.244.0.0/16 - 国内镜像加速(可选):
--image-repository=registry.aliyuncs.com/google_containers
- 使用 Flannel 时推荐:
- 初始化完成后按提示配置 kubectl:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
五 安装 CNI 网络插件与加入 Worker
- 安装网络插件(二选一):
- Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml - Calico:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
- Flannel:
- 在 Worker 节点加入集群:
- 使用
kubeadm init输出中的kubeadm join ...命令;若 token 过期,在 Master 上生成新命令:kubeadm token create --print-join-command
- 使用
- 验证:
kubectl get nodes(状态应为 Ready)kubectl get pods -A(所有系统 Pod 应为 Running)
六 常见问题与常用维护
- 重置与重装:
sudo kubeadm resetsudo rm -rf /etc/cni/net.dsudo iptables -F & & sudo iptables -t nat -F & & sudo iptables -t mangle -F & & sudo iptables -X
- 镜像拉取慢或失败:
- 使用国内镜像仓库(如
--image-repository=registry.aliyuncs.com/google_containers)或配置私有镜像仓库。
- 使用国内镜像仓库(如
- 节点 NotReady:
- 确认 CNI 已安装、Pod CIDR 与网络插件一致、防火墙/安全组端口已放行、时间同步正常。
- 生产建议:
- 部署 多 Master 高可用、配置 持久化存储、启用 RBAC 与 网络策略,并定期升级组件版本。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian环境下Kubernetes怎么安装
本文地址: https://pptw.com/jishu/771525.html
