Linux VPS云服务器Kubernetes集群部署入门
文章分类:售后支持 /
创建时间:2025-09-01
在Linux VPS云服务器上搭建Kubernetes集群,就像为容器应用配备智能管家。本文从环境准备到基础配置全程解析,新手也能快速上手。
前期准备:给Kubernetes搭好"房子"
要让Kubernetes(容器编排工具,负责自动化部署、扩展和管理容器应用)顺利工作,首先得准备几间"小房子"——至少1台主节点(集群大脑)和1台工作节点(任务执行端)的Linux VPS云服务器。这些服务器需满足三个条件:
- 系统版本统一(建议Ubuntu 20.04+或CentOS 7+)
- 内网互通(可通过ping命令测试节点间连通性)
- 已安装Docker(容器运行时,类似"容器制造机")
某创业团队曾因忽略内网互通检查,导致主节点初始化后工作节点无法加入,最终排查发现是安全组未开放6443端口。这提醒我们:部署前先用telnet测试主节点6443端口是否可访问。
安装核心组件:给管家配工具
Kubernetes需要三个核心工具:kubeadm(集群初始化指挥官)、kubelet(节点容器管理助手)、kubectl(用户操作终端)。以Ubuntu系统为例,安装命令如下:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubeadm=1.28.0-00 kubelet=1.28.0-00 kubectl=1.28.0-00
sudo apt-mark hold kubeadm kubelet kubectl
注意:这里固定了1.28版本,避免因版本更新导致兼容性问题。实际部署中可根据需求调整版本号。
初始化主节点:启动集群大脑
在主节点执行初始化命令,指定容器网络地址范围(Flannel插件需要10.244.0.0/16):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.28.0
成功后会输出类似"kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:..."的命令,这是工作节点加入集群的"入场券",务必复制保存。
配置kubectl:打通操作通道
为了用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",说明初始化成功。
部署网络插件:让容器"通电话"
Kubernetes容器间通信需要网络插件,这里选择轻量的Flannel:
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.22.0/Documentation/kube-flannel.yml
部署后等待几分钟,执行"kubectl get pods -n kube-system",看到"kube-flannel-ds"相关Pod状态为"Running",表示网络就绪。某技术团队曾因网络插件版本过旧,导致容器跨节点通信失败,建议使用官方最新稳定版。
加入工作节点:扩充执行团队
在工作节点执行之前保存的"kubeadm join"命令(需替换实际IP、token和hash值):
sudo kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
返回"Join Succeeded"后,在主节点执行"kubectl get nodes",就能看到工作节点状态变为"Ready"。
完成这些步骤,你的Linux VPS云服务器上已搭建起基础的Kubernetes集群。接下来可以尝试部署第一个Nginx容器,用"kubectl create deployment nginx --image=nginx"命令体验自动化管理的便捷。Kubernetes的魅力远不止于此,后续的服务暴露、自动扩缩容等功能,等待你进一步探索。