几十台机器的管理费想砍掉:openEuler上部署K3s边缘集群

工厂车间、连锁门店这类场景有个共同点:节点多、位置散,每个节点跑的服务却不多——一套数据采集、一个本地 Web 页面、几条转发规则。给每个点都上完整的 Kubernetes 集群,资源与管理成本都吃不消。openEuler 官方边缘计算文档收录的 K3s 部署指南给了一条轻量路:K3s 是一个轻量级的 Kubernetes 发行版,单台机器就能当 server,其余节点一条命令加入,管理界面和标准 K8s 完全一致。

为什么是 K3s

K3s 把 Kubernetes 的核心能力打包成单个二进制,去掉了企业级场景才用得上的重组件,内存占用小、启动快,专为边缘与资源受限环境设计。openEuler 社区把 K3s 二进制编译成了 RPM 包,可以直接通过 yum 安装,比从官网脚本在线下载更适合内网环境。

部署前两个准备

一是主机名必须互不相同:server 与 agent 节点的名字冲突会导致注册失败,先用 hostnamectl 改好:

hostnamectl set-hostname "主机名"

二是 server 与 agent 之间网络可达(默认 6443 端口),防火墙提前放行。

部署 server 节点

在担当控制面的节点上执行(openEuler 的安装包已内置二进制,跳过在线下载):

INSTALL_K3S_SKIP_DOWNLOAD=true k3s-install.sh

装完后节点 token 在 server 的这个位置:

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

注意官方提示:agent 加入时只使用 token 的后半部分。

agent 节点加入

在每台要加入的节点上执行,把 myserver 换成 server 的 IP 或域名、mynodetoken 换成实际 token:

INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken k3s-install.sh

验证集群

回到 server 节点执行:

kubectl get nodes

agent 节点出现在列表且状态 Ready,集群就搭好了。后续的业务发布、扩缩容都走标准 kubectl 操作,和公有云上的 K8s 管理习惯无缝衔接——运维学一遍,到处能用。

边缘场景的两点经验

一是server 要配冗余:多节点场景建议至少两台 server(K3s 支持高可用部署,配合外部数据库),避免单点把整个边缘集群带崩。二是版本升级走灰度:先升级一台 agent 观察一周再批量推,边缘网络带宽小,镜像分发提前在本地准备好。

几十个节点的轻量业务,用轻量集群管理,成本账才划算。贵州诚鑫致达科技为企业提供 Linux 服务器与容器化集群的部署运维服务,车间、门店的分布式节点怎么管,欢迎联系我们出方案。

企业存储选型参考|贵州诚鑫致达

小团队起步上手 NAS,群晖机型参考:DS425+ · DS224+ · DS124。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州、贵阳及周边市县的企业找群晖 NAS、企业存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。遵义、六盘水、安顺:群晖 NAS 部署与企业存储技术服务。