MicroK8s 1.36 介绍与选型指南
MicroK8s 1.36 介绍与选型指南:基于 Canonical 官方资料溯源的单包轻量 Kubernetes 架构、snap 交付与 addon 生态、快速上手与适用限制,以及与 Minikube、Kind、K3s、k0s、kubeadm 的量化选型对比(2026-10-19 实查,未做本地安装实测)。
MicroK8s 1.36 介绍与选型指南
目标:基于 Canonical 官方公开资料(GitHub 官方仓库、官方文档站)梳理 MicroK8s 的定位、架构、功能与选型口径,并与 Minikube、Kind、K3s、k0s、kubeadm 做量化对比。本文仅做官方资料溯源,不做本地安装与运行实测;全部版本号、日期与社区数据于 2026-10-19 联网实查。
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方资料溯源(canonical/microk8s 官方仓库 README 与 Releases、GitHub Releases Atom 流、官方文档站 microk8s.io),本文不做本地安装与运行实测。
- 版本结论:本次介绍的版本为 MicroK8s 1.36 track(对应上游 Kubernetes 1.36)。GitHub 仓库最新发行记录为「Microk8s 1.36 released!」(Releases Atom 记录更新于 2026-05-25);MicroK8s 按 Kubernetes minor track 滚动交付,snap 通道内补丁持续更新。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| 最新发行 track | v1.36(Kubernetes 1.36;上游 1.36 于 2026-04-22 发布,MicroK8s 发行说明直接引用该博客链接) | github.com/canonical/microk8s/releases(releases.atom 更新 2026-05-25) |
| 上一 track | 1.35(对应 Kubernetes 1.35,上游 2025-12-17 发布) | 同上发行说明 |
| 代码仓库 | canonical/microk8s | github.com/canonical/microk8s |
| GitHub stars | 9380 | GitHub API(2026-10-19 实查) |
| 开源许可 | Apache License 2.0 | GitHub API license 字段 |
| 交付形态 | snap 单包(snapcraft.io/microk8s),官方宣称支持 42 种 Linux 发行版 | 仓库 README |
| 官方站点/文档 | microk8s.io / microk8s.io/docs | 仓库 README |
1.3 官方来源清单
| 来源 | 地址 |
|---|---|
| 官方站点 | https://microk8s.io/ |
| 官方文档 | https://microk8s.io/docs/ |
| 源码仓库 | https://github.com/canonical/microk8s |
| 发行列表 | https://github.com/canonical/microk8s/releases |
| snap 包页面 | https://snapcraft.io/microk8s |
二、软件概述
本文介绍的是 MicroK8s 1.36 track(GitHub 最新发行记录 2026-05-25 实查)。
MicroK8s 是 Canonical 出品的轻量级 Kubernetes 发行版,官方口号为「The smallest, fastest Kubernetes」:以单个 snap 包交付、开箱即用且完全符合 Kubernetes 一致性认证(fully conformant),可在 42 种 Linux 发行版上安装运行。官方将其定位用于开发工作站、IoT、边缘与 CI/CD 场景,并强调与 Ubuntu 上托管的 AKS/EKS/GKE 的兼容体验。
MicroK8s 在 GitHub(canonical/microk8s)上拥有 9380 stars(2026-10-19 实查,GitHub API),以 Apache License 2.0 发布,仓库主语言为 Python(安装与 addon 管理脚本),核心 Kubernetes 组件随 snap 交付。其维护活跃度高:仓库最近一次推送为 2026-10-18(GitHub API 实查)。
三、核心架构
3.1 单包交付
- MicroK8s 将 kube-apiserver、kubelet、containerd 等全部组件与依赖打包进一个 snap,安装即得一个可运行的 Kubernetes,无需自行编排组件依赖(仓库 README「Simple」条目)。
- snap 的通道机制(如 1.36/stable、1.35/stable)同时承担版本轨道与自动更新:官方宣称与上游 Kubernetes 同日发布 beta、RC 与正式版,且可固定在任意 1.10 之后的版本轨道上(README「Current」条目)。
3.2 数据存储与网络
- 轻量数据存储:采用 k8s-dqlite 作为默认元数据存储(1.35 发行说明中含 k8s-dqlite 1.8.1 更新记录),相对 etcd 降低了单机与边缘场景的资源门槛。
- 网络:随包交付 CNI 与 DNS 等 addon,按需启用(README Quickstart)。
3.3 addon 插件体系
- 通过
microk8s enable启用预置能力:dns、dashboard、ingress、registry 等基础项,以及 Service Mesh(Istio、Linkerd)、Serverless(Knative)、监控(Prometheus、Grafana、Fluentd)、GPU bindings 等进阶项(README「Comprehensive」条目)。 - addon 以 manifest/脚本形式置于
${SNAP}/actions/目录,随 snap 版本演进(README)。
四、功能特性
4.1 上游同步与版本轨道
官方宣称 MicroK8s 追踪上游、与 Kubernetes 上游同日交付版本位,用户可固定在任意历史 minor track 上获取补丁(仓库 README)。
4.2 集群组网
提供 microk8s add-node / join 类多节点组网命令,将多台主机组成集群(官方文档站 docs;本站安装指南亦按此流程实测,见文末链接)。
4.3 自动更新与安全
snap 支持安全补丁的立即或按维护窗口调度更新(README「Secure」条目);1.35 发行说明中包含多项 AppArmor profile 修正,体现对安全加固的持续跟进。
4.4 1.36 系列状态
- 1.36 发行说明明确一项破坏性变更:GPU core addon 不再强制将 NVIDIA runtime 设为 containerd 默认运行时,使用 GPU 的 Pod 必须显式声明
runtimeClassName: nvidia(GitHub Releases 实查)。 - 1.35 发行说明还包含:移除废弃的 etcd-v2 参数、nginx ingress 校验与镜像配置替换为 Traefik、IngressClass 纳入 addon 状态判定等(GitHub Releases 实查)。
五、快速上手
以下命令转述自官方仓库 README 的 Quickstart 一节,本文不做本地实测。
5.1 安装
snap install microk8s --classic
5.2 验证
MicroK8s 内置 microk8s kubectl 包装命令:
sudo microk8s kubectl get nodes
sudo microk8s kubectl get services
如需复用既有 kubectl:
sudo microk8s kubectl config view --raw > $HOME/.kube/config
5.3 免 sudo 与 addon
安装时自动创建 microk8s 用户组,将用户加入该组即可免 sudo 使用;基础能力按需启用:
sudo usermod -a -G microk8s <username>
sudo microk8s enable dns
sudo microk8s enable dashboard
microk8s status 可查看已启用/可用 addon 列表。完整步骤见官方文档:https://microk8s.io/docs/ 。本站已按上述流程完成实测的部署指南见 《Ubuntu 22.04 安装 Kubernetes(MicroK8s)集群指南》。
六、适用场景与限制
6.1 适用场景
- 开发工作站与本地学习:单包安装、分钟级起集群(README 定位)。
- IoT 与边缘:资源占用轻、k8s-dqlite 降低存储依赖、snap 便于整机分发与自动更新。
- CI/CD:单命令安装、版本轨道可固定,便于流水线中拉起一致性集群。
- Ubuntu 生态用户:与 Ubuntu/LXD 等组合最顺滑(官方以 Ubuntu 为第一优先平台)。
6.2 限制与注意事项
- snap 分发是硬约束:需要 snapd 支持,在不支持 snap 的环境(多数传统 RHEL 部署、部分容器内环境)不可用。
- 非 Ubuntu 平台的 snap 体验与包可用性以 snapcraft.io 实际列表为准(README 称 42 种 Linux 发行版)。
- 多节点组网、高可用等生产化能力需按官方文档核对当前支持范围;选型时应确认目标 track 的发行说明(如 1.36 的 GPU runtimeClass 破坏性变更)。
- 作为「开发/边缘」定位的发行版,其控制面组件裁剪与默认配置(如 k8s-dqlite)与 etcd 标准架构有差异,迁移或混合管理时需评估。
七、同类选型对比
7.1 候选概览
| 工具 | 定位 | 开源许可 |
|---|---|---|
| MicroK8s 1.36 | Canonical 单包轻量 K8s 发行版(snap 交付) | Apache-2.0 |
| Minikube 1.39 | 本地 Kubernetes 学习与开发环境(多驱动) | Apache-2.0 |
| Kind v0.33.0 | 基于 Docker 容器节点的本地集群(面向测试/CI) | Apache-2.0 |
| K3s v1.37.1+k3s1 | SUSE/Rancher 轻量生产可用 K8s 发行版(单二进制) | Apache-2.0 |
| k0s v1.36.4+k0s.1 | Mirantis 零摩擦 K8s 发行版(单二进制) | Apache-2.0(仓库 LICENSE;GitHub 许可识别为 Other) |
| kubeadm | Kubernetes 上游标准部署工具(非发行版) | Apache-2.0 |
7.2 量化对比(2026-10-19 实查)
| 维度 | MicroK8s 1.36 | Minikube 1.39 | Kind v0.33.0 | K3s v1.37.1+k3s1 | k0s v1.36.4+k0s.1 | kubeadm(K8s v1.37.1) |
|---|---|---|---|---|---|---|
| GitHub stars | 9380(canonical/microk8s) | 30557(kubernetes/minikube) | 15557(kubernetes-sigs/kind) | 29966(k3s-io/k3s) | 6537(k0sproject/k0s) | 114057(kubernetes/kubernetes 主仓库) |
| 最近发版 | v1.36(releases.atom 更新 2026-05-25) | v1.39.0(2026-09-01) | v0.33.0(发行说明更新 2026-09-16;另有 v0.34.0-alpha 2026-08-26) | v1.37.1+k3s1(2026-10-01) | v1.36.4+k0s.1(2026-09-19) | v1.37.1(2026-09-23;1.35.9/1.36.5/1.37.1 三线并行补丁) |
| 版本节奏 | 按 K8s minor track 同步上游;snap 通道内滚动补丁 | 约每季度一个 minor,2026 年已发 1.38.x/1.39.0 | minor + alpha 交错,2026 年发布 0.32/0.33 线 | 紧跟上游,1.34–1.37 四线并行维护 | 紧跟上游,1.34–1.36 三线并行维护 | 随上游 K8s 发布(1.37.0 于 2026-08-26 GA) |
| 交付形态 | snap 单包(含 containerd、k8s-dqlite) | 单二进制 CLI + 容器/VM 驱动 | 单二进制 + kindest/node 容器镜像 | 单二进制(内置容器运行时与网络) | 单二进制 | 二进制工具 + systemd 组件手动部署 |
| 默认 K8s 版本口径 | 与 track 同名(1.36 → K8s 1.36) | 默认 v1.37.0(支持 v1.36/v1.37) | 默认节点镜像 kindest/node:v1.37.0(另备 1.36.4) | 与版本号同名(1.37.1 → K8s v1.37.1) | 与版本号同名(1.36.4 → K8s v1.36.4) | 即上游 Kubernetes |
| 兼容矩阵要点 | snapd 必需;42 种 Linux 发行版 | 需 Docker/QEMU/KVM/VirtualBox/Podman 等驱动之一 | 需 Docker/Podman/nerdctl 类容器运行时 | Linux 单二进制,x86_64/arm64 等 | Linux 单二进制 | 需自备容器运行时与 CNI |
(stars 与发版时间取自各项目 GitHub Releases/Releases Atom 与 GitHub API 实查,查询日期 2026-10-19;许可见各仓库 LICENSE。)
7.3 选型建议
- 重度 Ubuntu/snap 生态、需要「同日跟上上游版本」与丰富 addon 的开发、IoT、边缘场景,优先 MicroK8s。
- 个人笔记本上学习 Kubernetes、需要多驱动(Docker/QEMU/VirtualBox/Podman 等)与教学环境,选 Minikube。
- CI 流水线中用容器模拟多节点集群跑测试,选 Kind——节点即容器,启停与矩阵测试成本最低。
- 边缘或生产环境的长期运行轻量集群(单二进制、内嵌数据库、支持多版本并行维护),在 K3s 与 k0s 之间按生态与许可偏好选择。
- 要完全贴合上游、自行掌控控制面每个组件的标准部署,选 kubeadm。
- 本站同类文档可进一步参考 《Kind v0.33.0 介绍与选型指南》 与 《K3s 1.37.1 介绍与选型指南》。
八、参考链接
- 官方站点:https://microk8s.io/
- 官方文档:https://microk8s.io/docs/
- 源码仓库:https://github.com/canonical/microk8s
- 发行列表(Releases/Atom):https://github.com/canonical/microk8s/releases
- snap 包页面:https://snapcraft.io/microk8s
- Minikube 仓库:https://github.com/kubernetes/minikube
- Kind 仓库:https://github.com/kubernetes-sigs/kind
- K3s 仓库:https://github.com/k3s-io/k3s
- k0s 仓库:https://github.com/k0sproject/k0s
- Kubernetes 仓库:https://github.com/kubernetes/kubernetes