云服务器K8s集群部署入门:控制平面与节点配置
文章分类:行业新闻 /
创建时间:2025-08-05
在云服务器上搭建K8s(Kubernetes)集群,控制平面与工作节点的配置是核心环节。无论是开发测试还是生产环境部署,掌握这两个关键组件的配置方法,能帮你快速开启容器化应用的实践之旅。下面从准备工作到最终验证,详细拆解每个步骤。
前置准备:确保云服务器基础环境达标
正式开始配置前,云服务器需要满足三个基础条件:
- 操作系统:推荐Ubuntu 18.04及以上版本,兼容性更好;
- 网络连通:控制平面与工作节点间需能互相ping通,可通过`ping 目标IP`命令测试;
- 主机名配置:每台服务器设置唯一主机名(如control-plane、worker-01),避免后续操作混淆。
控制平面:集群的“大脑”如何初始化
控制平面是K8s集群的管理中枢,负责资源调度、状态监控等核心功能。配置错误可能导致集群无法启动,这一步需要格外仔细。
具体操作分三步:
1. 初始化控制平面节点
在控制平面所在的云服务器上执行`kubeadm init`命令,需指定Pod网络地址段和API服务器IP。示例命令:
`kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.1.100`
命令执行完成后,会输出工作节点加入集群的指令,需妥善保存。
2. 配置kubectl访问权限
为了方便后续使用kubectl管理集群,需将Kubeconfig文件复制到用户目录:
`mkdir -p $HOME/.kube`
`sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config`
`sudo chown $(id -u):$(id -g) $HOME/.kube/config`
3. 安装网络插件实现Pod通信
K8s集群内Pod间通信依赖网络插件,以Flannel为例,执行以下命令完成安装:
`kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml`(注:实际操作时建议从官方渠道获取最新配置文件)
工作节点:让应用“跑起来”的关键
工作节点是容器化应用的运行载体,负责实际承载Pod实例。常见问题多集中在无法加入集群,需重点检查网络和组件安装情况。
配置步骤如下:
1. 预安装必要组件
工作节点需提前安装Docker(容器运行时)、kubelet(节点代理)、kubeadm(集群管理工具)和kubectl(命令行工具),确保版本与控制平面兼容。
2. 执行加入集群命令
在控制平面初始化时生成的加入指令(如`kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef`),在工作节点上直接执行即可。若指令过期,可在控制平面节点运行`kubeadm token create --print-join-command`重新生成。
最后验证:确认集群运行状态
完成所有配置后,通过两步验证集群是否正常:
1. 检查节点状态
在控制平面节点执行`kubectl get nodes`,若所有节点状态显示为“Ready”,说明节点已成功加入集群并正常运行。
2. 部署测试应用验证
部署一个简单的Nginx应用测试连通性:
`kubectl create deployment nginx --image=nginx`
`kubectl expose deployment nginx --port=80 --type=NodePort`
通过浏览器访问工作节点IP地址和暴露的NodePort端口(如30001),若能看到Nginx欢迎页面,说明应用部署成功,集群整体运行正常。
完成以上步骤,就能在云服务器上顺利搭建K8s集群,开启容器化部署的实践之旅。过程中留意网络连通性和组件版本匹配,能有效避免节点无法加入、Pod通信失败等常见问题。后续可根据实际需求,逐步扩展集群规模或添加存储、监控等高级功能。