1. 课程导入

在工业现场,数据不再只向中心云汇聚,越来越多的推理、采集、控制和告警需要在靠近设备的一侧完成。K3s 作为经过 CNCF 认证的轻量级 Kubernetes 发行版,把完整 Kubernetes API 能力压缩到几十兆二进制中,天然适合部署在工控机、边缘网关、ARM 盒子甚至 PLC 旁的算力节点上。本课程围绕“工业边缘集群”这一真实场景,带你从零搭建一套可运行、可观测、可运维的 K3s 集群,并把它接入到工业数据链路中。

本课程不是单纯讲 K3s 命令,而是以“工业边缘现场约束”为主线:网络不稳定、设备异构、资源受限、运维人员少、停机成本高。所有技术选型与操作步骤,都围绕这些约束展开。

一、学习目标:从会装到会管

完成本课程后,你应当能够独立完成以下任务:

  • 在 x86 与 ARM 混合环境中规划并部署 K3s 单节点或多节点集群;
  • 理解 K3s 与标准 Kubernetes 的差异,知道哪些组件被替换、哪些能力被保留;
  • 使用 Helm、Manifest 和 K3s 内置的部署机制发布工业应用;
  • 配置本地存储、HostPath、Local Path Provisioner,满足边缘数据持久化需求;
  • 通过 Traefik、Service、Ingress 暴露边缘服务,并与上位系统对接;
  • 使用 Prometheus、Grafana、Loki 等工具建立边缘可观测性;
  • 掌握离线安装、镜像预置、证书轮换、备份恢复等现场运维技能;
  • 能够排查节点 NotReady、Pod 频繁重启、存储挂载失败等典型故障。

这些目标对应一条清晰的技能成长路径:先能装起来,再能跑应用,然后能管住状态,最后能处理异常。课程中的每个实验都尽量贴近真实工业现场,而不是停留在“Hello World”。

二、核心价值:为什么工业边缘需要 K3s

工业边缘场景与数据中心有本质区别。数据中心追求弹性、规模和自动化,而工业边缘更关注确定性、低延迟和可维护性。K3s 的价值体现在三个层面:

第一,资源占用低。K3s 将 etcd 替换为 SQLite 或嵌入式 etcd,默认不启用云厂商插件,单节点内存占用可控制在 512MB 以内,适合在 2GB 内存的工控机上运行。对于只有 4GB 内存的边缘网关,这意味着可以留出更多资源给业务容器。

第二,部署与运维简单。K3s 以单个二进制文件交付,安装脚本一行命令即可完成。它内置了 containerd、Flannel、CoreDNS、Traefik、ServiceLB 等组件,减少了现场拼装组件的复杂度。对于没有专职 Kubernetes 运维人员的工厂,这一点至关重要。

第三,保留 Kubernetes 生态。K3s 通过 CNCF 一致性认证,标准 YAML、Helm Chart、Operator 基本可以直接使用。这意味着团队在边缘侧积累的技能可以平滑迁移到云端,反之亦然。

工业边缘不是“缩小版云”,而是“带约束的云原生”。K3s 的价值不是功能最多,而是在资源、网络和运维约束下,仍然提供声明式 API 和自愈能力。

三、整体知识框架:五个层次

本课程的知识框架可以划分为五个层次,从下到上依次是:

层次核心内容关键产出
环境与规划硬件选型、操作系统、网络拓扑、节点角色集群规划表
集群部署单节点、多节点、HA、离线安装、ARM 支持可运行集群
应用发布Deployment、Helm、Ingress、配置管理工业应用上线
存储与数据Local Path、HostPath、NFS、数据备份持久化方案
运维与可观测监控、日志、告警、升级、故障排查运维手册

这五个层次不是孤立的。例如,存储方案会影响应用发布方式,网络拓扑会影响集群 HA 设计,可观测性又反过来指导故障排查。课程会按照“规划—部署—发布—存储—运维”的顺序推进,但每个阶段都会回扣工业现场约束。

四、实战路线图:从一台工控机到边缘集群

为了让学习路径更直观,下面用一张图展示本课程的实战路线。图中从现场设备与数据源出发,经过 K3s 集群核心,最终到达运维与业务闭环。

K3s 工业边缘集群部署实战路线图 现场设备与数据源 PLC / 传感器 Modbus / OPC UA 工业相机 / 网关 RTSP / MQTT 边缘采集盒 ARM / x86 本地数据库 SQLite / InfluxDB HMI / 看板 本地展示 K3s 工业边缘集群核心 控制平面 Server / SQLite / etcd 工作节点 Agent / containerd 网络与入口 Flannel / Traefik 存储与配置 Local Path / ConfigMap 应用负载 Deployment / StatefulSet / Helm / Job 可观测与运维 Prometheus / Grafana / Loki 备份 / 升级 / 证书轮换 运维与业务闭环 远程运维 SSH / kubectl 告警与通知 Alertmanager / 钉钉 数据回传 MQTT / HTTP 业务系统 MES / SCADA / 云平台 持续改进 复盘 / 优化 / 扩容 数据采集 → 边缘处理 → 本地决策 → 云端协同 阶段一:现场接入 阶段二:集群构建 阶段三:运维闭环

这张路线图对应课程的三段式推进:先理解现场设备与数据源,再构建 K3s 集群核心,最后形成运维与业务闭环。每一段都有对应的实验和检查点,确保你不是“看完就忘”,而是“做完就会”。

五、常见误区与学习建议

在开始之前,先澄清几个常见误区:

  • 误区一:K3s 是“阉割版 Kubernetes”。K3s 通过了 CNCF 一致性认证,标准 API 和资源对象都可用。它只是替换了部分默认组件,并优化了资源占用。
  • 误区二:边缘集群不需要高可用。工业现场停机成本高,关键节点仍需要多副本或快速恢复方案。是否 HA 取决于业务连续性要求,而不是“边缘”二字。
  • 误区三:装完就万事大吉。边缘集群的挑战在运维:网络抖动、磁盘写满、证书过期、镜像拉取失败。课程会专门安排排障与复盘环节。
  • 误区四:直接照搬云上 YAML。云上依赖的 StorageClass、LoadBalancer、云厂商 CSI 在边缘往往不可用,需要替换为 Local Path、HostPath 或 NFS。
工业边缘部署最怕“实验室能跑,现场不能用”。请务必在实验环境中模拟断网、重启、磁盘满、节点掉线等异常,验证集群的自愈与恢复能力。

学习建议:每学完一个模块,就在自己的工控机或虚拟机上复现一次。建议准备至少两台设备:一台作为 K3s Server,一台作为 Agent;如果只有一台,也可以用单节点模式完成大部分实验。遇到问题时,先看 kubectl get nodes、kubectl get pods -A、journalctl -u k3s 这三条命令的输出,再结合课程中的排障思路定位。

# 快速检查集群状态的三条命令
kubectl get nodes -o wide
kubectl get pods -A -o wide
sudo journalctl -u k3s -n 100 --no-pager

本课程的目标不是让你记住所有命令,而是建立一套“规划—部署—验证—运维—复盘”的工程方法。当你面对一台全新的边缘设备时,能够有条不紊地把它变成集群中的一个可靠节点,并让业务应用稳定运行,这才是课程的核心价值。