K3s 1.37.1 介绍与选型指南
K3s 1.37.1 介绍与选型指南:基于官方 README、发布记录与文档站梳理版本基准、单二进制架构与内置组件、功能特性、快速上手、适用场景与限制,并对比 Kubernetes 标准、k0s、KubeSphere 的选型差异。
K3s 1.37.1 介绍与选型指南
一、信息基准
本文为 K3s 的介绍与选型指南,全部信息均来自官方公开资料(官方 GitHub 仓库 k3s-io/k3s 的 README 与 releases/tags 发布记录、官方文档站 docs.k3s.io、上游 Kubernetes 官方发布渠道 dl.k8s.io),不做本地安装与运行实测。查询日期:2026-10-19。
版本依据:官方 GitHub 发布记录显示当前最新稳定版为 v1.37.1+k3s1(发布于 2026-10-01),版本号后缀 +k3s1 是官方命名规则——K3s 与上游 Kubernetes 保持同步,v1.37.1+k3s1 即对应上游 Kubernetes v1.37.1(dl.k8s.io stable 通道实查为 v1.37.1);同时 1.36(v1.36.5+k3s1)、1.35(v1.35.9+k3s1)、1.34(v1.34.12+k3s1)三条维护线持续发布补丁。
| 项目 | 基准 | 依据 |
|---|---|---|
| 最新稳定版 | v1.37.1+k3s1(2026-10-01) | GitHub releases feed 实查 |
| 上游对应版本 | Kubernetes v1.37.1 | dl.k8s.io/release/stable.txt 实查 |
| 维护线 | 1.36.5+k3s1、1.35.9+k3s1、1.34.12+k3s1 并行补丁 | GitHub releases 页实查 |
| 开源许可 | Apache License 2.0 | 官方仓库 LICENSE 文件 |
| 版本节奏 | 与上游 Kubernetes 同步:补丁发布目标一周内,新 minor 目标 30 天内 | 官方 README「Release cadence」原文 |
官方来源清单:
| 来源 | 链接 | 说明 |
|---|---|---|
| 官方 GitHub 仓库 | https://github.com/k3s-io/k3s | README 架构与发行说明、LICENSE |
| 发布记录 | https://github.com/k3s-io/k3s/releases | v1.37.1+k3s1 及维护线实查 |
| 官方文档站 | https://docs.k3s.io/ | 安装、架构与运维文档 |
| 上游版本通道 | https://dl.k8s.io/release/stable.txt | Kubernetes stable=v1.37.1 |
| CNCF 一致性 | https://github.com/cncf/k8s-conformance/pulls?q=is%3Apr+k3s | 完全一致性认证记录(README 引用) |
二、软件概述
本文介绍 K3s 截至 2026-10-19 的最新稳定版 v1.37.1+k3s1(对应上游 Kubernetes v1.37.1)。K3s 是官方 README 定义的「轻量级 Kubernetes」:完全通过 CNCF 一致性认证的生产可用 Kubernetes 发行版,宣称内存占用减半、整体打包为一个小于 100 MB 的二进制。官方给出的典型适用面包括边缘(Edge)、物联网(IoT)、CI、开发环境、ARM 设备、嵌入 k8s 的场景,以及"没有条件深入研究集群细节"的团队。
官方明确说明 K3s 不是分叉(fork):它是发行版(distribution),刻意保持与上游 Kubernetes 核心功能一致,仅维护少量(远少于 1000 行)必要补丁,并尽量回馈上游。这意味着 K3s 集群上的工作负载行为与标准 Kubernetes 一致,可无缝迁移。
三、核心架构
3.1 单二进制封装
按官方 README,K3s 的核心架构选择包括:整体打包为单个二进制;以 SQLite3 作为默认数据存储后端(etcd3、MariaDB、MySQL、Postgres 亦受支持);用单一启动器封装 Kubernetes 与其他组件;默认启用适合轻量环境的安全默认值;几乎无操作系统依赖(仅需正常内核与 cgroup 挂载);通过 websocket 隧道将节点上的 kubelet API 收敛到控制面,工作节点无需对外暴露 kubelet 端口。
3.2 内置组件束
官方 README 列出的内置组件束(均可禁用或替换):Flannel(CNI 网络)、CoreDNS、Metrics Server、Traefik(入口网关)、Klipper-lb(内嵌服务负载均衡提供者)、Kube-router(网络策略控制器)、Helm-controller(以 CRD 驱动 Helm 清单部署)、Kine(数据存储垫层,使 etcd 可被 SQLite/MySQL/PostgreSQL 等数据库替换)、Local-path-provisioner(本地卷供应)、宿主机工具集(iptables/nftables、ebtables、ethtool、socat 等),以及内嵌的 OCI 标准运行时。
3.3 Server/Agent 角色与数据存储
K3s 将节点角色分为 server(承载控制面)与 agent(承载工作负载)。数据存储按规模选择:单节点默认 SQLite;生产高可用可用内嵌 etcd 集群;也可通过 Kine 使用 MySQL/PostgreSQL/MariaDB 等外部数据库作为数据存储。kubeconfig 默认写入 /etc/rancher/k3s/k3s.yaml,agent 加入所需 NODE_TOKEN 位于 server 节点的 /var/lib/rancher/k3s/server/node-token(官方 README 安装说明)。
3.4 运维自动化
官方 README 列出的运维简化项:管理 Kubernetes 组件的 TLS 证书;管理 worker 与 server 节点间的连接;对本地清单目录中的 Kubernetes 资源实施实时自动部署;管理内嵌 etcd 集群。
四、功能特性
依据官方 README 与官方文档站归纳:
- 完全一致性:通过 CNCF 一致性认证,行为与上游 Kubernetes 对齐,控制面 API 无裁剪。
- 极轻量:单二进制小于 100 MB,内存占用约为上游的一半,可在资源受限设备运行。
- 开箱即用:内置网络(Flannel)、DNS(CoreDNS)、入口(Traefik)、服务负载均衡(Klipper-lb)、本地存储供应(Local-path-provisioner)、指标采集(Metrics Server),装完即可用。
- 灵活数据存储:SQLite/内嵌 etcd/外部 SQL 数据库(经 Kine)三档,覆盖单机到高可用。
- Helm 应用管理:Helm-controller 支持 CRD 方式声明部署 Helm 应用。
- 安全默认:轻量环境合理默认值,证书与密钥自动管理。
- 低系统依赖:仅需内核与 cgroup,适配老旧系统与嵌入式环境,官方文档覆盖 x86_64 与 ARM 等架构。
- 离线部署:官方文档提供无外网环境的安装指引(离线制品包方式)。
- 版本跟随:与上游 Kubernetes 发行节奏对齐,补丁与 minor 发布均有官方时效目标。
五、快速上手
以下最小示例引自官方 Quick Start(https://docs.k3s.io/quick-start )与官方 README 安装说明,本文不做本地实测。官方提供一键安装脚本:
curl -sfL https://get.k3s.io | sh -
安装完成后验证:
sudo k3s kubectl get node
kubeconfig 位于 /etc/rancher/k3s/k3s.yaml(官方 README 说明);在其他节点加入集群时,使用 server 节点上 /var/lib/rancher/k3s/server/node-token 中的 NODE_TOKEN。多 server 高可用(内嵌 etcd)与离线部署的完整步骤见官方文档对应章节。
官方来源:https://docs.k3s.io/quick-start 、https://github.com/k3s-io/k3s
六、适用场景与限制
适用场景:边缘与 IoT 网关上的轻量集群;CI/CD 流水线的临时集群;开发与测试环境;ARM/国产化小设备;需要嵌入 Kubernetes 能力的软件产品(官方 README「Embedding k8s」);希望以最小运维成本获得标准 Kubernetes API 的中小规模生产。
限制(依据官方 README 与文档如实归纳):官方 README 亦将其定位为"无法承受集群深入研究成本"场景的选择,超大规模节点管理与完整企业特性仍以上游 Kubernetes 为中心生态;内置组件束是官方的固定选型,替换需额外配置;数据存储在 SQLite 形态下不具备多节点高可用,需自行升级到 etcd 或外部数据库形态;部分高级特性(如复杂网络策略、外部负载均衡集成)依赖组件选型与额外部署。
七、同类选型对比
对比维度说明:K3s 与标准 Kubernetes(kubeadm 部署形态)、k0s、KubeSphere 同属"Kubernetes 发行/部署"赛道(KubeSphere 侧重在既有集群之上的全栈管理套件)。数据查询日期 2026-10-19,stars 取自各项目 GitHub 官方仓库页面,版本取自官方发布渠道实查。
| 维度 | K3s 1.37.1+k3s1 | Kubernetes v1.37.1(标准) | k0s v1.36.4+k0s.1 | KubeSphere v4.1.3 |
|---|---|---|---|---|
| 开源许可 | Apache-2.0(官方 LICENSE) | Apache-2.0(官方仓库 LICENSE) | Apache-2.0(官方 LICENSE,部分内嵌组件另有声明) | Apache-2.0(官方仓库 LICENSE) |
| GitHub stars 与最近发版 | 34,211;v1.37.1+k3s1 @ 2026-10-01 | 128,360;v1.37.1(dl.k8s.io stable 实查) | 6,537;v1.36.4+k0s.1 @ 2026-09-19 | 17,058;v4.1.3 @ 2025-03-25 |
| 版本节奏 | 与上游同步:补丁目标一周内、minor 目标 30 天内(README 官方承诺) | 官方每年三个 minor、维护期约 14 个月 | 单二进制发行,跟随上游但版本略滞后(当前为 1.36 线) | 平台版本更新频率低于上游(v4.1.3 为当前主线) |
| 兼容矩阵 | CNCF 完全一致性;SQLite/etcd/MySQL/PostgreSQL 数据存储三档;x86_64/ARM 多架构 | 上游基准,全部官方接口与特性 | CNCF 一致性认证发行版,单二进制 + 可插拔组件(Helm、Konnectivity 等) | 运行于 Kubernetes 之上的管理平台,依赖底层集群(含 K3s/k0s 等均可作为底座,官方文档说明) |
选型建议:要在边缘、小设备或运维人力有限的场景跑标准 Kubernetes API,K3s 是当前维护最活跃、与上游同步最紧的轻量发行版;对组件定制与默认安全策略有更强诉求可评估 k0s;需要开箱即用的多租户管理界面与全栈套件可在既有集群上加装 KubeSphere;节点规模大、有专职平台团队时直接采用 kubeadm 部署的标准 Kubernetes。
八、参考链接
- K3s 官方仓库与 README:https://github.com/k3s-io/k3s
- 发布记录(v1.37.1+k3s1):https://github.com/k3s-io/k3s/releases
- 官方文档站:https://docs.k3s.io/
- 快速开始:https://docs.k3s.io/quick-start
- Kine 数据存储垫层:https://github.com/k3s-io/kine
- Helm-controller:https://github.com/k3s-io/helm-controller
- Klipper-lb:https://github.com/k3s-io/klipper-lb
- CNCF 一致性记录:https://github.com/cncf/k8s-conformance/pulls?q=is%3Apr+k3s
- 上游 Kubernetes stable 通道:https://dl.k8s.io/release/stable.txt
- Kubernetes 官方仓库:https://github.com/kubernetes/kubernetes
- k0s 发布记录:https://github.com/k0sproject/k0s/releases
- KubeSphere 发布记录:https://github.com/kubesphere/kubesphere/releases