kubeadm 1.37 介绍与选型指南

kubeadm 1.37 介绍与选型指南:官方资料溯源的 Kubernetes 上游集群引导工具定位、init/join 与静态 Pod 架构、kubeadm.yaml 配置体系、快速上手与适用限制,以及与 K3s、RKE2、MicroK8s、Minikube、k0s 的量化选型对比(2026-10-19 实查,未做本地安装实测)。

kubeadmkubeadmKubernetesk8s2026/10/19

kubeadm 1.37 介绍与选型指南

目标:本文基于官方公开资料溯源(kubernetes.io 官网与官方文档、GitHub kubernetes/kubernetes 发行页)梳理 kubeadm 的定位、架构与选型对比,未做本地安装实测;版本号、日期与 stars 均标注来源与查询日期 2026-10-19。

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方资料溯源(kubernetes.io、GitHub kubernetes/kubernetes 发行页),并与本站同期实查的 K8s 发行版文档交叉核对,本文不做本地安装与运行实测。
  • 版本结论:kubeadm 版本号与 Kubernetes 保持一致。当前上游支持线为 1.37 / 1.36 / 1.35 三个 minor(kubernetes.io/releases 实查);本文以 kubeadm 1.37(对应 Kubernetes 1.37,1.37.0 GA 于 2026-08-26,最新补丁 v1.37.1 于 2026-09-23)为介绍基准。

1.2 版本依据表

项目实查结果(2026-10-19)来源
当前支持线1.37 / 1.36 / 1.35(各约 1 年补丁支持;1.37 EOL 标注 2027-10-28)kubernetes.io/releases/
1.37 线1.37.0 GA 2026-08-26;最新补丁 v1.37.1(2026-09-23,1.35.9/1.36.5/1.37.1 三线并行补丁)kubernetes.io/releases/;github.com/kubernetes/kubernetes/releases(与本站同期实查交叉核对)
下一个版本1.38(SIG Release 排期中)kubernetes.io/releases/
代码仓库kubernetes/kubernetes(kubeadm 源码位于仓库 cmd/kubeadm)github.com/kubernetes/kubernetes
开源许可Apache-2.0仓库 LICENSE
GitHub stars114057(kubernetes/kubernetes 主仓库整体)GitHub API 实查(与本站同期实查交叉核对)

1.3 官方来源清单

来源地址
Kubernetes 官网https://kubernetes.io/
版本与支持周期https://kubernetes.io/releases/
kubeadm 概念文档https://kubernetes.io/docs/concepts/cluster-administration/kubeadm/
kubeadm 建集群教程https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
源码仓库https://github.com/kubernetes/kubernetes

二、软件概述

本文介绍的是 kubeadm 1.37(随 Kubernetes 1.37 发布,1.37.0 GA 2026-08-26,最新补丁 v1.37.1 2026-09-23)。

kubeadm 是 Kubernetes 上游官方提供的集群「引导(bootstrap)」工具:一条 kubeadm init 初始化控制面、一条 kubeadm join 把节点加入集群,并配套升级(upgrade)、重置(reset)、证书(certs)、令牌(token)等全生命周期子命令。它属于 Kubernetes 主仓库(Apache-2.0,主仓库 stars 114057,2026-10-19 实查),是 CNCF 上游的「标准部署路径」。

定位边界(选型关键):官方文档明确 kubeadm 不是 turnkey(开箱即用)方案——它只负责把最小可用集群(minimum viable cluster)拉起来,容器运行时、CNI 网络、Ingress、监控等均需用户自选自装;它也不是 K8s 发行版,没有厂商定制组件。换言之,kubeadm 卖的是「纯粹与上游对齐」,发行版(K3s/RKE2/k0s/MicroK8s 等)卖的是「打包好的默认选择」。

三、核心架构

3.1 子命令与生命周期

子命令作用(官方文档口径)
init初始化控制面节点(生成证书、写入静态 Pod、拉起 etcd/ apiserver / controller-manager / scheduler)
join将节点加入集群(控制面节点或工作节点)
upgrade集群滚动升级(kubeadm upgrade plan/apply/node)
reset回滚 init/join 所做的变更
token引导令牌管理
certs证书检查、续期
kubeconfig生成/管理 kubeconfig

3.2 控制面形态

  • 静态 Pod:控制面组件以 kubelet 管理的静态 Pod 运行( manifests 由 kubeadm 写入 /etc/kubernetes/manifests),自愈与升级由 kubelet/静态 Pod 机制保证。
  • etcd:默认与控制面同节点堆叠(stacked etcd),也支持外部 etcd 拓扑;etcd 由用户(经 kubeadm)自管。
  • 高可用:多控制面节点 + 前置负载均衡(用户自建)实现 HA,官方文档给出 HA 拓扑说明。

3.3 配置体系(kubeadm.yaml)

kubeadm 以配置文件驱动部署:InitConfiguration(bootstrap token、节点信息)、ClusterConfiguration(apiserver/etcd/CRI endpoint、证书 SAN、podSubnet/serviceSubnet 等)、KubeProxyConfiguration、KubeletConfiguration、JoinConfiguration。本站已有多篇配置文件详解,如 《kubeadm 集群配置文件详解(Ubuntu 22.04)》。

四、功能特性

4.1 与上游完全对齐

kubeadm 属于 Kubernetes 主仓库,随每个 minor 同步发布,行为与上游一致;版本偏差策略(version skew policy)由上游官方维护,升级路径最「正」。

4.2 集群生命周期管理

覆盖初始化、加入、升级、降级(在支持范围内)、证书轮换(certs renew)、令牌管理、reset 清理等完整生命周期;upgrade plan 可预演升级路径。

4.3 自由组装的组件矩阵

运行时(containerd/CRI-O 等 CRI 实现)、CNI(Calico/Cilium/Flannel 等)、Ingress、存储均由使用者选择——适合需要精确控制每个组件版本与配置的团队。

4.4 1.37 线状态

1.37.0 于 2026-08-26 GA,属当前最新支持线;1.34 线将于 2026-10-27 到期(kubernetes.io 实查),存量集群应注意升级窗口。

五、快速上手

以下步骤转述自官方教程(https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ ),本文不做本地实测。

5.1 准备

按官方安装文档在所有节点安装 kubelet、kubeadm、kubectl 与容器运行时(containerd 等),关闭 swap 并满足端口要求(官方 prerequisites)。

5.2 初始化控制面

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

完成后按输出提示拷贝 admin kubeconfig。

5.3 安装 CNI 并加入节点

kubectl apply -f <所选 CNI 的官方清单>
sudo kubeadm join <apiserver>:6443 --token <token> --discovery-token-ca-cert-hash <hash>

CNI 需自行选型安装(官方教程列出常见 CNI);验证 kubectl get nodes 就绪。

六、适用场景与限制

6.1 适用场景

  • 需要与上游严格对齐、组件版本完全可控的生产/预生产集群。
  • 云厂商托管 K8s 覆盖不到的私有化数据中心部署。
  • 学习与验证上游原生行为(没有发行版魔改变量的基准环境)。
  • 作为发行版之外「自建派」的标配工具。

6.2 限制与注意事项

  • 官方明示 kubeadm 不是开箱即用方案:CNI、运行时、Ingress、监控、存储均需自选自装。
  • etcd 与证书体系由用户自管,备份(etcd snapshot)与证书轮换要有流程。
  • HA 需自建控制面前置负载均衡。
  • 「三件套 + kubeadm」的装配与排障门槛高于发行版,小团队或边缘场景建议评估 K3s/k0s。

七、同类选型对比

7.1 候选概览

工具定位开源许可
kubeadm 1.37Kubernetes 上游官方集群引导工具(非发行版)Apache-2.0
K3s v1.37.1+k3s1SUSE/Rancher 轻量生产可用 K8s(单二进制)Apache-2.0
RKE2 v1.37.1+rke2r1SUSE 安全加固型数据中心 K8s 发行版Apache-2.0
MicroK8s 1.36Canonical snap 交付的轻量 K8sApache-2.0
Minikube v1.39.0本地学习/开发环境(多驱动)Apache-2.0
k0s v1.36.4+k0s.1Mirantis 零摩擦 K8s 发行版(单二进制)Apache-2.0

7.2 量化对比(2026-10-19 实查)

维度kubeadm 1.37K3sRKE2MicroK8sMinikubek0s
GitHub stars114057(kubernetes/kubernetes 主仓库)29966(k3s-io/k3s)≈2.4k(rancher/rke2,shields.io 徽标)9380(canonical/microk8s)30557(kubernetes/minikube)6537(k0sproject/k0s)
最近发版v1.37.1(2026-09-23,三线并行补丁)v1.37.1+k3s1(2026-10-01)v1.37.1+rke2r1(2026-10-01)v1.36 track(releases.atom 更新 2026-05-25)v1.39.0(2026-09-01)v1.36.4+k0s.1(2026-09-19)
对应 K8s 版本即上游(1.35–1.37 多线并行)1.37.1(1.34–1.37 四线并行)1.37.1K8s 1.36 track默认 v1.37.0K8s 1.36 track
版本节奏上游季度 minor + 补丁跟随上游,补丁周级跟随上游,补丁周级snap 通道随 track 滚动约季度 minor跟随上游
交付形态二进制工具 + systemd 组件手动装配单二进制(内置运行时/网络)打包组件 + CIS/FIPS 基线snap 单包(dqlite 单机 HA)单二进制 CLI + 容器/VM 驱动单二进制
数据存储etcd(自建/自管)SQLite/kine/etcd 可选内嵌 etcddqlite本地存储etcd(内置)
兼容矩阵要点需自备容器运行时与 CNILinux 单二进制,x86_64/arm64CIS v1.12 + FIPS 140-2snapd 必需需 Docker/QEMU/Podman 等驱动之一Linux 单二进制

(stars 与发版时间取自各项目 GitHub Releases/GitHub API 与 shields.io 徽标的 2026-10-19 实查,并与本站同期《K3s 1.37.1》《RKE2 1.37》《MicroK8s 1.36》《Minikube 1.39》《Kind v0.33.0》介绍文档交叉核对;许可见各仓库 LICENSE。)

7.3 选型建议

一句话概括:kubeadm 卖纯粹,RKE2 卖合规,K3s 卖轻量,MicroK8s/k0s 卖各自厂商生态,Minikube 只做本地。需要完全掌控每个组件、贴着上游走的数据中心集群,用 kubeadm(本站有 《CentOS 8 安装 Kubernetes(kubeadm)集群指南》);合规与生产支持优先的选 RKE2(见《RKE2 1.37 介绍与选型指南》);边缘与资源受限场景选 K3s 或 k0s;Ubuntu/snap 生态的开发与 IoT 场景选 MicroK8s(见《MicroK8s 1.36 介绍与选型指南》);个人学习与本地实验选 Minikube(见《Minikube 1.39 介绍与选型指南》)。kubeadm 的额外代价是运维自管(etcd、证书、HA 负载均衡、CNI 装配),团队没有专职平台组时应慎选。

八、参考链接