企业级多台服务器组装 K3s 高性能集群实战指南

本期敖行客研发实战日记,依旧邀请小伙伴赛博缝合师带来实战干货,适配中小型企业机房落地使用。

赛博缝合师:代码世界里的"重症监护室医生"。

开发负责给系统注入灵魂,负责用 Docker、Kubernetes 和各类配置脚本,在服务器的荒原上缝合出一条稳固的生命线。白天隐匿在监控面板的绿光之中,深夜则化身救火队长,用最冷静的眼神盯着每一次版本发布,死守着系统不崩溃的底线。

在企业实际生产环境中,由于网络安全策略限制,服务器往往处于内网或无互联网连接的孤岛环境。本文将详细讲解如何通过离线模式,将多台独立服务器组装成一个高效、稳定的 K3s 容器集群,并采用 Docker 作为底层的容器运行时(Container Runtime),以兼顾生态兼容性与轻量化优势。

要求:先安装好Docker 与 Docker Compose

1、 节点角色与网络规划

建议挑选一台物理配置相对优越(尤其是 CPU 与内存)的服务器作为Master(主节点)节点,其余服务器作为 Work(工作节点)节点。

以下为本指南的环境示例

主机名称:k3s-master | 内网 IP:172.31.0.2 | 集群角色:Master (主节点) | 核心组件:k3s server, Docker, kubectl

主机名称:k3s-worker01 | 内网 IP:172.31.0.3 (示例) | 集群角色:Work (工作节点) | 核心组件:k3s agent, Docker

2、 K3s Master (主节点) 部署

2.1、离线安装包准备与权限配置

提前下载好 K3s 的离线二进制文件 k3s 以及安装脚本 k3s-install.sh,将它们上传到主节点服务器的 /usr/local/bin 目录下。执行以下命令赋予可执行权限

cd /usr/local/bin

chmod +x k3s-install.sh //赋予安装脚本可执行权限

chmod +x k3s //赋予二进制文件可执行权限

2.2、离线安装环境变量配置(指定 Docker 运行时)

在执行脚本前,需要通过环境变量明确告知安装程序跳过在线下载,并指定使用 Docker 作为容器运行时,执行以下命令

export INSTALL_K3S_SKIP_DOWNLOAD=true //设置跳过下载 K3s 二进制文件(使用本地文件)

export INSTALL_K3S_BIN_DIR=/usr/local/bin //设置 K3s 二进制及工具的安装目录

export INSTALL_K3S_EXEC="--docker --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"

//指定docker运行时

2.3、配置文件修改与环境变量固化

安装完成后,需要对集群的配置文件进行微调,将默认的集群访问地址变更为本机的内网 IP 172.31.0.2

vi /etc/rancher/k3s/k3s.yaml

修改其中的 server: https://127.0.0.1:6443 为 server: https://172.31.0.2:6443

2.4、写入环境变量

vi /etc/profile# 在文件末尾追加以下内容:export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

保存退出后,使配置立即生效source /etc/profile

2.5、验证节点状态

使用以下命令动态观测主节点状态,确保状态(STATUS)显示为 Ready

watch kubectl get node -o wide

3、K3s Work (工作节点) 部署与扩容

工作节点专门用于承载业务容器。将其加入集群时,需要依赖主节点生成的 Token 凭证以及通信地址。

3.1、在主节点机器上运行以下命令,获取一段高强度的集群验证令牌:

cat /var/lib/rancher/k3s/server/node-token

3.2、工作节点离线文件准备与权限配置

登录到所有的 Work 节点服务器上,重复文件准备工作。

将 k3s 和 k3s-install.sh 同样放置于 /usr/local/bin 目录下,并赋予权限:

cd /usr/local/bin

chmod +x k3s-install.sh

chmod +x k3s

声明离线安装与运行时变量:export INSTALL_K3S_SKIP_DOWNLOAD=trueexport INSTALL_K3S_BIN_DIR=/usr/local/binexport INSTALL_K3S_EXEC="--docker --write-kubeconfig ~/.kube/config --write-kubeconfig-mode 666"

3.3、执行节点加入集群离线安装命令

利用上一步从主节点获取到的真实 Token 字符串以及主节点的内网(或公网)通信 IP,外加前面声明的环境变量,直接运行加入命令(请将下方命令中加粗部分替换为真实的凭证和 IP): K3S_TOKEN="K10e9fb4eafcbd2e847d9289e6a6bb3f5d43f5a0cc2afe07bdba9f33274f1fe2d44::server:ee248540ca55564b33fc9f75dc76331c" K3S_URL=https://172.31.0.2:6443 ./k3s-install.sh

生产网络注意: K3S_URL 中的 IP 地址,在完全内网环境中应填写主节点的内网 IP(如 172.31.0.2);若是跨地域、跨云厂商组网,则需替换为真实的、控制平面端口(6443)已放通的公网 IP 地址。

4、最终集群验证

当所有 Work 节点执行完安装脚本后,回到主节点服务器上,通过 kubectl 工具查看整个集群架构:

kubectl get node -o wide

此时,您应该能看到控制台打印出多行记录,包含了 Master 节点和刚刚成功添加的 Work 节点。所有节点状态均为 Ready,至此,多台服务器已成功组装、整合成了一套高可用、统一调度的高性能 K3s 容器集群。

结语

如果你在实操过程中碰到节点加入失败、镜像离线导入、运行时适配报错等问题,或是有高可用集群改造、业务容器迁移的相关疑问,欢迎在评论区留言交流探讨,感兴趣可以持续关注,一起打磨更贴合企业生产的落地架构方案。

敖行客介绍:

敖行客(Allthinker)聚焦服务企业研发团队及开发者,以搭载自研企业级智能体引擎的 AT Work-Agent 研发工作台为核心支撑,打造 AI 原生一体化研发协同体系,依托企业智能体重构研发协作范式,致力于赋能各类研发团队轻量化完成智能化升级。

AT Work介绍:

AT Work-Agent 研发工作台是国内首个分钟级部署、AI 原生全链路研发协同平台,依托企业级智能体赋能研发全流程,零门槛打造专属 AI 研发团队,实现研发效率与数据安全的双重飞跃。

官网:www.allthinker.com

邮箱:allthinker@allthinker.com

相关推荐
m0_737302582 小时前
OpenClaw:赋予大模型执行能力的开源本地 AI 智能体
服务器
Web极客码2 小时前
在WordPress Multisite中添加超级管理员用户
服务器·php·网站
TTBIGDATA2 小时前
【Ambari Plus】10.HBase 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
京韵养生记3 小时前
【无标题】
java·服务器·前端
艾伦_耶格宇3 小时前
【ELK】-2 ELK的搭建
运维·elk
huainingning3 小时前
锐捷ACL单向TCP互通组网-通过Established状态回包实现
服务器·网络·tcp/ip
xcLeigh3 小时前
KES运维自动化与脚本体系实战
运维·数据库·自动化·脚本·数据迁移·kes
七夜zippoe3 小时前
OpenClaw 实战案例:数据分析平台构建
服务器·网络·数据分析·openclaw·平台构建
luj_17683 小时前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法