4. 工业边缘硬件与网络基础

在把 K3s 落到工业现场之前,必须先回答一个比“装什么版本”更底层的问题:算力放在哪、网络怎么走、断网了怎么办。工业边缘与数据中心最大的差别,不是 CPU 快慢,而是硬件形态碎片化、网络不可靠、现场维护窗口极短。本节围绕工控机、网关、ARM 设备三类载体,梳理工业网络拓扑与离线/弱网特征,为后续 K3s 的节点规划、镜像分发和高可用设计打基础。

一、三类边缘载体:算力、接口与部署位置

工业边缘节点通常不是标准服务器,而是嵌入产线、机柜或设备旁的“小盒子”。按算力与角色,可粗分为三类:

  • 工控机(IPC):x86 架构为主,常见 Intel i3/i5/i7 或 Atom,内存 8~32GB,带多网口、串口、DI/DO,支持导轨或壁挂安装。适合作为 K3s server 节点或边缘主控,承载控制逻辑、数据采集与本地可视化。
  • 工业网关:算力较低,强调协议转换与南北向隔离,常见 Modbus、Profinet、OPC UA、MQTT 等接口。可作为 K3s agent 节点或独立数据汇聚层,把 PLC 数据转成容器可消费的 API/消息。
  • ARM 设备:如树莓派、瑞芯微 RK3588、NXP i.MX 系列,功耗低、体积小、成本低,适合分布式传感与轻量推理。需注意 ARM64 镜像、内核模块与 GPU/NPU 驱动兼容性。
选型时先看“接口是否够用”,再看“算力是否够跑”。工业现场常因缺少一个 RS-485 或 CAN 口而被迫加转换器,反而增加故障点。

二、工业网络拓扑:分层与冗余

工业网络通常呈“现场层—控制层—边缘层—企业层”的分层结构。K3s 集群一般部署在边缘层,向上通过防火墙或 VPN 连接企业云,向下通过网关接入控制层。典型拓扑如下:

工业边缘网络分层拓扑与 K3s 部署位置 企业层 / 云 云平台 / 远程运维 镜像仓库 / CI VPN / 防火墙 边缘层(K3s 集群) 工控机 IPC K3s server 本地存储 / 可视化 工控机 IPC K3s server 高可用备用 ARM 设备 K3s agent 轻量推理 / 采集 控制层 工业网关 Modbus / OPC UA 工业交换机 环网 / VLAN PLC / 变频器 实时控制 现场层 传感器 / 执行器 RS-485 / CAN IO 模块 实线:工业以太网 / 现场总线 虚线:经 VPN 或专线的南北向通道

拓扑设计要点:边缘层与现场层之间用网关做协议隔离,避免 K3s 节点直接暴露在实时控制网中;边缘层内部建议双网口冗余或环网,防止单点断链导致集群脑裂;企业层连接必须经过防火墙或 VPN,且只开放必要端口。

三、离线与弱网环境的核心特征

工业现场的网络质量与办公网完全不同,常见特征包括:

  • 带宽低且不稳定:4G/5G 信号在厂房内衰减严重,上传带宽可能只有几百 kbps,延迟抖动大。
  • 频繁断连:设备移动、电磁干扰、运营商切换都会造成分钟级甚至小时级断网。
  • 完全离线:部分产线出于安全要求物理隔离,无法访问公网镜像仓库。
  • 流量成本高:按流量计费的场景下,频繁拉取镜像会带来显著成本。
弱网下最危险的不是“连不上”,而是“连一半”。K3s 节点与 server 之间心跳超时会导致节点被标记 NotReady,Pod 被重新调度,可能引发控制逻辑中断。必须调整心跳与驱逐参数。

四、面向弱网的 K3s 参数与镜像策略

针对上述特征,部署时需在 K3s 配置中显式调整。以下是一份可参考的 server 启动参数片段:

# /etc/rancher/k3s/config.yaml
node-ip: 192.168.10.11
flannel-iface: eth1
kubelet-arg:
  - "node-status-update-frequency=30s"
  - "node-monitor-grace-period=120s"
  - "node-monitor-period=10s"
kube-apiserver-arg:
  - "default-not-ready-toleration-seconds=300"
  - "default-unreachable-toleration-seconds=300"
disable:
  - traefik
  - servicelb

镜像策略上,推荐“本地仓库 + 预置镜像”双保险:在边缘层部署一个轻量 Registry(如 registry:2),企业侧 CI 构建后通过离线包同步;节点首次上线前用 k3s ctr images import 导入基础镜像,避免启动时拉取。对于 ARM 设备,必须确认镜像 manifest 包含 arm64 架构。

场景网络特征推荐策略关键参数/工具
厂内固定产线有线环网,延迟稳定双 server 高可用,本地 Registryflannel-iface、etcd 快照
移动设备/AGVWi-Fi 漫游,偶发断连延长容忍时间,边缘缓存not-ready-toleration-seconds
偏远站点4G/5G,带宽低镜像预置,增量同步ctr images import、离线包
完全离线物理隔离本地仓库 + 手动导入registry:2、skopeo

五、常见误区与复盘

误区一:把边缘节点当云主机管理。工业现场没有带外管理,重启可能意味着产线停机。应优先使用看门狗、双系统分区和远程电源控制,而不是频繁重装。

误区二:忽视 ARM 与 x86 的镜像差异。很多团队在 x86 上验证通过后直接推到 ARM 节点,结果 ImagePullBackOff。建议 CI 中同时构建多架构镜像,或在部署清单中显式指定 nodeSelector: kubernetes.io/arch: arm64。

误区三:弱网下仍使用默认心跳。默认参数面向数据中心,边缘场景必须放宽。复盘时应记录断网时长、Pod 驱逐次数和恢复时间,作为参数调优依据。

一句话总结:工业边缘的 K3s 部署,硬件选型看接口与算力,网络设计看分层与冗余,离线弱网看镜像预置与心跳容忍。三者缺一,集群就可能在现场“水土不服”。