首页主机资讯怎样在Debian上快速部署Kubernetes

怎样在Debian上快速部署Kubernetes

时间2026-01-20 18:53:03发布访客分类主机资讯浏览694
导读:在 Debian 上快速部署 Kubernetes 的标准做法 一 准备与规划 节点与网络 至少准备1 台控制平面与1 台工作节点(实验可单节点)。 建议配置:每节点≥2 核 CPU、≥2GB 内存、≥20GB 磁盘。 节点间需互通网络...

在 Debian 上快速部署 Kubernetes 的标准做法

一 准备与规划

  • 节点与网络
    • 至少准备1 台控制平面1 台工作节点(实验可单节点)。
    • 建议配置:每节点≥2 核 CPU、≥2GB 内存、≥20GB 磁盘
    • 节点间需互通网络;建议设置主机名与 /etc/hosts解析;关闭 Swap;按需放行防火墙端口(如 6443、10250 等)。
  • 版本建议
    • 操作系统建议 Debian 12(Bookworm)
    • 本文示例采用 Kubernetes v1.33(可按需替换为其他稳定版本)。

二 控制平面节点部署步骤

  • 系统初始化
    • 更新并安装基础工具:sudo apt update & & sudo apt upgrade -y
    • 关闭 Swap:sudo swapoff -a & & sudo sed -i ‘/ swap / s/^/#/’ /etc/fstab
    • 加载内核模块与开启转发(容器网络所需):
      • sudo modprobe overlay & & sudo modprobe br_netfilter
      • echo -e “overlay\nbr_netfilter” | sudo tee /etc/modules-load.d/containerd.conf
      • echo -e “net.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1” | sudo tee /etc/sysctl.d/99-kubernetes.conf
      • sudo sysctl --system
  • 安装容器运行时(两种常见选择)
    • 使用 Docker(传统方式)
      • sudo apt install -y docker.io & & sudo systemctl enable --now docker
    • 使用 containerd(与 kubeadm 配合更常见)
      • sudo apt install -y containerd
      • sudo mkdir -p /etc/containerd & & containerd config default | sudo tee /etc/containerd/config.toml
      • sudo systemctl enable --now containerd
  • 安装 kubeadm、kubelet、kubectl(推荐固定版本)
    • 导入签名并添加仓库(新版推荐方式,示例为 v1.33;如使用旧版 Debian 可保留旧 GPG/源方式)
      • curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/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.33/deb/ /” | sudo tee /etc/apt/sources.list.d/kubernetes.list
      • sudo apt update & & sudo apt install -y kubelet=1.33.* kubeadm=1.33.* kubectl=1.33.*
      • sudo apt-mark hold kubelet kubeadm kubectl
  • 初始化集群
    • 若使用 Flannel:sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    • 若使用 Cilium:sudo kubeadm init(Cilium 通常无需指定 pod-network-cidr)
  • 配置 kubectl
    • mkdir -p $HOME/.kube
    • sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    • sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 安装网络插件
    • Flannel:kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    • Cilium:kubectl apply -f https://raw.githubusercontent.com/cilium/cilium/v1.16/install/kubernetes/quick-install.yaml
  • 验证
    • kubectl cluster-info
    • kubectl get nodes
    • kubectl get pods -A

三 工作节点加入集群

  • 在控制平面节点获取加入命令
    • kubeadm token create --print-join-command
  • 在工作节点执行输出的 join 命令
    • 示例:sudo kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
  • 回到控制平面验证
    • kubectl get nodes(等待新节点状态变为 Ready

四 快速验证与常见问题

  • 快速验证
    • 部署测试应用:kubectl create deployment nginx --image=nginx --replicas=2
    • 暴露服务:kubectl expose deployment nginx --name=nginx-svc --type=NodePort --port=80
    • 查看服务:kubectl get svc nginx-svc(NodePort 通常为 3xxxx,可用 http://< 任意节点IP> : 访问)
  • 常见问题与处理
    • 节点 NotReady:检查网络插件是否成功部署(kubectl get pods -n kube-flannel 或 kube-system)、Pod CIDR 是否与网络插件匹配(Flannel 默认 10.244.0.0/16)。
    • 镜像拉取慢或失败:配置国内镜像源/私有仓库,或使用已缓存镜像。
    • kubelet 反复重启:确认 Swap 已关闭内核参数已生效容器运行时已启动
    • 加入命令过期:在控制平面重新生成 token(kubeadm token create --print-join-command)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 怎样在Debian上快速部署Kubernetes
本文地址: https://pptw.com/jishu/787523.html
如何解决Debian上ThinkPHP的依赖问题 ThinkPHP在Debian上的安全性分析

游客 回复需填写必要信息