Debian如何快速搭建Kubernetes环境
导读:在 Debian 上使用 kubeadm 快速搭建单主集群 一 环境准备 至少准备 2 核 CPU、2GB 内存、20GB 磁盘,节点间网络互通,建议使用 Debian 12。 所有节点执行: 更新系统:sudo apt update...
在 Debian 上使用 kubeadm 快速搭建单主集群
一 环境准备
- 至少准备 2 核 CPU、2GB 内存、20GB 磁盘,节点间网络互通,建议使用 Debian 12。
- 所有节点执行:
- 更新系统:
sudo apt update & & sudo apt upgrade -y - 关闭 Swap:
sudo swapoff -a & & sudo sed -i '/ swap / s/^/#/g' /etc/fstab - 可选:设置主机名并写入 /etc/hosts,便于解析(如:master 与 workers 互指)。
- 更新系统:
二 安装容器运行时 Containerd(推荐)
- 加载内核模块与网络参数:
echo -e "overlay\nbr_netfilter" | sudo tee /etc/modules-load.d/containerd.confsudo modprobe overlay & & sudo modprobe br_netfiltercat < < EOF | sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf\nnet.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1\nnet.bridge.bridge-nf-call-ip6tables = 1\nEOFsudo sysctl --system
- 安装并配置 Containerd:
sudo apt update & & sudo apt install -y containerdcontainerd config default | sudo tee /etc/containerd/config.toml > /dev/null 2> & 1- 编辑
/etc/containerd/config.toml,在[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]下添加:SystemdCgroup = true sudo systemctl restart containerd & & sudo systemctl enable containerd
说明:Kubernetes 官方当前推荐 Containerd 作为运行时;如使用 Docker,需确保其内置的 containerd 正确配置并启用 。
三 安装 kubeadm kubelet kubectl
- 添加 Kubernetes APT 源并安装组件:
sudo apt update & & sudo apt install -y apt-transport-https curl gnupgcurl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-archive-keyring.gpgecho "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt update & & sudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectl
- 启动 kubelet:
sudo systemctl enable --now kubelet
说明:上述源与步骤适用于 Debian 11/12 的快速部署场景 。
四 初始化控制平面并安装网络插件
- 在主节点初始化(单主最简命令):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16- 如需自定义网段:
--pod-network-cidr=192.168.0.0/16 --service-cidr=10.96.0.0/12
- 配置 kubectl:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
- 安装网络插件(Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 加入工作节点:
- 使用
kubeadm init输出中的kubeadm join ... --token < token> --discovery-token-ca-cert-hash sha256:< hash>在各 worker 上执行
- 使用
- 验证:
kubectl cluster-infokubectl get nodes
说明:Flannel 的默认 Pod CIDR 为 10.244.0.0/16,与初始化参数保持一致即可 。
五 防火墙与常见问题
- 防火墙放行端口(如使用 UFW):
- 控制平面:
6443/tcp、2379-2380/tcp、10250-10252/tcp、10255/tcp - 工作节点:
10250/tcp、30000:32767/tcp(NodePort 范围)
- 控制平面:
- 常见问题速查:
- 节点 NotReady:多因网络插件未就绪或 Pod CIDR 不匹配,检查
kubectl get pods -n kube-system与初始化参数。 - 镜像拉取慢:可配置国内镜像仓库或使用
image-repository参数(如registry.aliyuncs.com/google_containers)。 - 加入命令过期:在主节点执行
kubeadm token create --print-join-command重新生成。 - 虚拟化克隆环境:确保各节点 MAC 地址 与 product_uuid 唯一,避免 kubelet 误判为同一节点 。
- 节点 NotReady:多因网络插件未就绪或 Pod CIDR 不匹配,检查
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian如何快速搭建Kubernetes环境
本文地址: https://pptw.com/jishu/771524.html
