海外VPS搭建K8s 1.28单节点集群与网络配置教程
文章分类:售后支持 /
创建时间:2026-01-02
在海外VPS上搭建Kubernetes(K8s)单节点集群是学习容器编排的基础操作。Kubernetes 1.28新增了多项优化功能,比如改进的节点健康检查和更灵活的资源分配策略。本文将以Ubuntu 20.04系统为例,详细介绍从环境准备到网络插件配置的完整流程。
一、前置环境准备
搭建前需确认海外VPS满足基础条件:操作系统建议选择Ubuntu 20.04或CentOS 7(兼容性更好),内存至少2GB(K8s核心组件kube-apiserver、etcd等基础运行需约1.5GB),CPU至少2核(保证容器调度与资源管理的响应速度)。同时需确保VPS能稳定访问公网,后续下载K8s组件和Calico镜像时需要外部网络支持。
二、Kubernetes 1.28单节点安装步骤
1. 系统与依赖更新
为避免组件冲突,先更新系统软件包。Ubuntu系统执行:
sudo apt update && sudo apt upgrade -y
CentOS系统执行:
sudo yum update -y
2. 安装容器运行时(Docker)
K8s依赖容器运行时管理Pod,这里选择Docker。Ubuntu安装命令:
sudo apt install docker.io -y
sudo systemctl start docker && sudo systemctl enable docker
安装后可通过`docker version`验证是否启动成功。
3. 配置K8s软件源并安装组件
添加K8s官方软件源以获取1.28版本组件。Ubuntu系统执行:
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "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
更新源后安装指定版本的kubeadm(集群初始化工具)、kubelet(节点代理)和kubectl(命令行工具):
sudo apt-get update
sudo apt-get install -y kubelet=1.28.0-00 kubeadm=1.28.0-00 kubectl=1.28.0-00
sudo apt-mark hold kubelet kubeadm kubectl # 锁定版本防止自动升级
4. 初始化单节点集群
使用kubeadm初始化时需指定K8s版本,并为Calico网络插件预留Pod网络地址段(Calico默认使用192.168.0.0/16):
sudo kubeadm init --kubernetes-version=1.28.0 --pod-network-cidr=192.168.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
执行`kubectl get nodes`,若节点状态为Ready则初始化成功。
三、Calico网络插件配置
K8s集群必须通过网络插件实现Pod跨节点通信(单节点场景也需配置)。这里选择社区广泛使用的Calico:
1. 部署Calico组件
下载并应用Calico配置文件(需确保VPS能访问GitHub):
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/tigera-operator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/custom-resources.yaml
2. 验证安装状态
约5-10分钟后,执行以下命令检查Calico相关Pod状态:
kubectl get pods -n calico-system
若所有Pod状态显示为Running(如calico-node-xxxxx、calico-kube-controllers-xxxxx),则网络插件安装成功。
通过以上步骤,你已在海外VPS上搭建起Kubernetes 1.28单节点集群,并完成了网络通信的基础配置。后续可通过`kubectl apply -f`命令部署自己的应用,体验K8s的容器编排能力。需要注意的是,单节点集群适合测试或开发场景,生产环境建议扩展为多节点集群以提高可用性。
工信部备案:苏ICP备2025168537号-1