香港VPS搭建K8s 1.28集群:教程与避坑指南
文章分类:行业新闻 /
创建时间:2025-09-17
想在香港VPS上高效搭建Kubernetes(K8s)1.28集群?本文从准备工作到安装步骤,结合实际操作经验总结避坑指南,助你快速完成容器编排环境搭建。
一、前期准备:硬件与环境的双重保障
搭建K8s集群对基础环境要求严格,选择香港VPS时需注意三点:
- 节点数量:建议至少3台,1台作为主节点(Master)负责集群管理,其余2台作为工作节点(Worker)运行业务容器。
- 配置门槛:单台VPS需满足2核CPU、4GB内存、20GB+磁盘的最低配置,避免因资源不足导致组件启动失败。
- 系统与网络:推荐Ubuntu 20.04及以上版本,所有节点需确保内网互通(可通过ping测试),同时能正常访问外网(用于下载K8s组件和镜像)。
二、安装步骤:从环境配置到集群初始化
1. 基础环境配置
登录每台香港VPS后,先更新系统包并安装依赖:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl
2. 安装Docker容器运行时
K8s默认支持容器运行时,Docker是最常用的选择:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER # 允许当前用户操作Docker
sudo systemctl enable docker && sudo systemctl start docker # 启动并设置开机自启
3. 安装K8s核心组件
添加K8s官方源并安装kubelet(节点代理)、kubeadm(集群管理工具)、kubectl(命令行客户端):
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=1.28.0-00 kubeadm=1.28.0-00 kubectl=1.28.0-00 # 指定1.28版本
sudo apt-mark hold kubelet kubeadm kubectl # 锁定版本防止自动升级
4. 主节点初始化与网络插件安装
在主节点执行初始化命令(注意替换--pod-network-cidr为网络插件匹配的CIDR):
sudo kubeadm init --kubernetes-version=1.28 --pod-network-cidr=10.244.0.0/16
初始化完成后,按提示配置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网络插件(需确保VPS能访问GitHub):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
5. 工作节点加入集群
主节点初始化会输出类似以下的加入命令,在工作节点执行即可:
sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
三、避坑指南:实操中常见问题与解决
网络延迟导致组件下载失败
香港VPS虽网络质量稳定,但部分国外源(如K8s官方镜像仓库)可能因地域限制出现下载慢或超时。建议:
- 使用国内镜像源加速,例如将Docker镜像源改为阿里云镜像(需自行配置)。
- 提前下载K8s所需镜像(如pause、kube-apiserver等),通过scp命令传输至各节点加载。
版本不匹配引发的兼容性问题
K8s 1.28对容器运行时(如Docker)、网络插件(如Flannel)有版本要求。实测发现:
- Docker建议使用20.10.x版本,过高版本可能与kubelet存在兼容性问题。
- Flannel需选择v0.19.0及以上版本,否则无法兼容K8s 1.28的网络策略。
资源不足导致节点不可用
部分用户为节省成本选择低配置香港VPS,可能出现kubelet进程因内存不足被OOM(内存溢出)杀死的情况。建议:
- 主节点至少4GB内存(etcd数据库和API Server内存占用较高)。
- 通过kubectl top nodes实时监控节点资源,必要时扩展VPS配置。
掌握以上步骤和避坑技巧,使用香港VPS搭建K8s 1.28集群将更高效稳定。实际操作中若遇到问题,可优先查阅K8s官方文档(v1.28版本)或社区论坛,多数常见问题已有成熟解决方案。
上一篇: 外贸企业云服务器使用10大常见问题解答