kOps 1.36 介绍与选型指南
kOps 1.36 介绍与选型指南:基于官方公开资料溯源的 Kubernetes 集群全生命周期管理工具解析——版本信息基准、state store 与云 IaC 架构、多云支持与 containerd v2 运行时、官方快速上手流程、适用场景与限制,以及与 kubeadm、RKE2、Terraform、Cluster API 的量化选型对比。
kOps 1.36 介绍与选型指南
目标:面向云上 Kubernetes 集群全生命周期管理场景,基于官方公开资料(官方站点 kops.sigs.k8s.io、GitHub 官方仓库 kubernetes/kops)梳理 kOps 的版本信息、架构、功能特性、官方快速上手流程与选型对比。本文为认知类介绍文档,全部信息均来自官方公开渠道溯源,未做本地安装与运行实测,查询日期为 2026-10-19。
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方公开资料溯源(官方站点 kops.sigs.k8s.io 的发行说明、GitHub 官方仓库 kubernetes/kops 的 Releases 页),本文不做本地安装与运行实测。
- 版本结论:当前最新稳定版为 v1.36.2(2026-08-08 发布),1.37 处于预发布阶段(v1.37.0-beta.1,2026-08-29)。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| 最新稳定版 | v1.36.2(2026-08-08;含 AWS CCM v1.36.1 默认、azurerm v5 支持、hcloud-go v2.47.0 等 cherry-pick) | github.com/kubernetes/kops/releases |
| 预发布线 | v1.37.0-beta.1(2026-08-29,移除 Kubernetes 1.31 支持) | github.com/kubernetes/kops/releases |
| 代码仓库 | kubernetes/kops(Go,Kubernetes SIG 维护的官方子项目) | github.com/kubernetes/kops |
| 开源许可 | Apache License 2.0 | 仓库 LICENSE |
| 社区热度 | ≈17k stars(shields.io,2026-10-19) | shields.io |
| Kubernetes 版本支持 | 1.36 线新增 Kubernetes 1.36 支持,按惯例覆盖 n-2(1.34/1.35/1.36) | 官方 1.36 发行说明 |
| 官方文档 | https://kops.sigs.k8s.io | kops.sigs.k8s.io |
1.3 官方来源清单
二、软件概述
本文介绍的是 kOps v1.36.2(当前最新稳定版,2026-08-08 发布)。
kOps(Kubernetes Operations)是 Kubernetes 官方 SIG 维护的生产级集群全生命周期管理工具:从云端基础设施的创建开始,覆盖集群安装、升级、滚动更新直至删除的全流程,被官方定位为"生产集群的 kubectl"。它以声明式集群规格(cluster spec)为中心,管理计算节点、网络、DNS、etcd、容器运行时等一切集群要素,并支持将基础设施渲染为 Terraform 代码,融入既有 IaC 流水线。
kOps 在 GitHub 上拥有约 17k stars(shields.io,2026-10-19 实查)。与手工引导工具不同,kOps 关心的是"集群从生到死":云资源供给、证书轮转、版本升级编排、节点滚动替换都由它负责,因此在 AWS 等云上的经典生产方案中占据重要位置,同时也以 Karpenter 支持、gossip DNS、gVisor 运行时等特性跟进云原生演进。
三、核心架构
3.1 状态存储(State Store)与集群规格
kOps 将集群的全部配置(cluster spec 与 instance group)保存在 state store 中——AWS 上通常是一个 S3 桶(其他云各有对应对象存储方案)。所有操作(创建/更新/升级)都基于该存储中的声明式规格进行 diff 与应用(官方文档 Getting Started 口径)。
3.2 声明式更新与 IaC 输出
- kops update cluster:根据 spec 计算并应用基础设施与集群配置变更,
--admin参数获取管理员凭据。 - Terraform 输出:可让 kOps 生成 Terraform 代码代替直接 apply,使云资源纳入既有 Terraform 状态管理(官方文档口径)。
3.3 运行时与组件管理
1.36 线的关键组件策略(官方发行说明实查):
| 组件 | 1.36 线状态 |
|---|---|
| containerd | 默认 v2.2.4(runc 1.3.5,Kubernetes 1.32+ 新集群);存量集群沿用 v1.7.32;刻意不追 2.3 以规避 sandbox-image 回归问题 |
| containerd 配置 | 迁移至 TOML v3(spec.containerd.configAdditions 需按新 schema 调整) |
| cloud provider | 完成 in-tree cloud provider 的移除,全面转向 external CCM(AWS CCM v1.36.1 默认) |
| etcd | 经 etcd-manager 管理,随发行版刷新 |
| addon | AWS Load Balancer Controller、EBS CSI、Cilium、CoreDNS 等随线刷新 |
3.4 云与运行环境支持
官方支持 AWS、Azure、GCP、Hetzner、DigitalOcean、OpenStack、Linode(实验)与裸金属;支持 gossip DNS 实现"无预置 DNS"的集群引导、混合集群(控制面与节点跨环境)、gVisor RuntimeClass 隔离运行时,以及 AI Conformance(实验)等特性(1.36 发行说明)。
四、功能特性
4.1 全生命周期命令集
kops create cluster 创建、kops update cluster 应用变更、kops rolling-update cluster 节点滚动替换、kops upgrade cluster 版本升级、kops validate cluster 就绪校验、kops delete cluster 整体回收——升级与回滚路径完整,证书轮转由工具托管(官方 CLI 文档口径)。
4.2 Karpenter 与节点管理
1.36 支持 Karpenter(kOps 托管 EC2NodeClass/NodePool 的引导),为 AWS 集群提供现代化的弹性节点供给,与传统 Machine/InstanceGroup 机制互补(1.36 发行说明)。
4.3 多云与网络灵活性
除多云支持外,提供 gossip DNS(无外部 DNS 依赖的集群发现)、混合集群(如控制面在云上、工作节点在本地)、集群模板(cluster template)驱动的标准化创建流程,适合以模板沉淀组织内部集群规范(官方文档)。
4.4 1.36 线状态
v1.36.2 为当前稳定补丁(2026-08-08),v1.37.0-beta.1 进入预发布并移除 Kubernetes 1.31 支持,体现"跟随上游、保留 n-2"的常规节奏;1.36 线完成去 in-tree cloud provider 与 containerd v2 默认化两项大迁移,属于近年变更较重的版本线,升级存量集群前应研读官方迁移指引。
五、快速上手
以下流程转述自官方 Getting Started 文档(https://kops.sigs.k8s.io/getting_started/cluster_template/ 与主站),具体参数以官方文档为准,本文不做本地实测。
5.1 前置条件
准备 kubectl 与 kops 命令行工具、目标云的访问凭据,以及用于 state store 的对象存储(AWS 场景为一个 S3 桶)。
5.2 创建集群
以 AWS 为例的官方通用流程:
# 指定 state store(S3 桶)
export KOPS_STATE_STORE=s3://<bucket>
# 创建集群(指定名称与可用区;可选 --cloud 指定云)
kops create cluster --name example.k8s.local --zones us-east-1a --yes
5.3 校验与运维
# 校验集群就绪
kops validate cluster
# 应用 spec 变更
kops update cluster --admin
# 版本升级与节点滚动更新
kops upgrade cluster
kops rolling-update cluster
如需将基础设施纳入 Terraform 管理,可在 update 阶段让 kOps 输出 Terraform 代码;完整的云差异、模板与参数说明见官方文档:https://kops.sigs.k8s.io/ 。
六、适用场景与限制
6.1 适用场景
- 云上生产集群:需要工具托管节点、证书、etcd 与升级编排,而非一次性引导。
- 多集群标准化:以 cluster template 沉淀组织规范,批量创建一致性集群。
- IaC 深度用户:希望集群基础设施以 Terraform 代码纳入统一状态管理。
- AWS 深度场景:Karpenter 弹性供给、AWS LB Controller/EBS CSI 等 addon 联动最成熟。
6.2 限制与注意事项
- 云绑定程度高:kOps 的价值依赖它替你管理云资源;纯裸金属或已是托管服务(EKS/GKE)的场景收益有限。
- 大版本升级需谨慎:1.36 涉及 in-tree cloud provider 移除、containerd 配置 TOML v3 迁移等破坏性变更,存量集群升级前必须逐项核对官方迁移说明。
- state store 是单点真相:桶的权限、版本化与备份策略需纳入运维规范,丢失 state store 意味着失去集群管理能力。
- 学习曲线:spec、instance group、addon、cloud provider 四层概念较多,团队需投入学习成本。
- 版本节奏:稳定补丁约月度级别,预发布线先行,跟随升级需要规划。
七、同类选型对比
7.1 候选概览
| 工具 | 定位 | 开源许可 |
|---|---|---|
| kOps 1.36 | 云上集群全生命周期管理(IaC 级) | Apache-2.0 |
| kubeadm | 上游标准集群引导工具 | Apache-2.0 |
| RKE2 | 安全合规向发行版(安装器模式) | Apache-2.0 |
| Terraform | 通用基础设施即代码 | BUSL-1.1 |
| Cluster API | 声明式 CRD 的集群生命周期管理 | Apache-2.0 |
7.2 量化对比(2026-10-19 实查)
| 维度 | kOps | kubeadm | RKE2 | Terraform | Cluster API |
|---|---|---|---|---|---|
| 开源许可 | Apache-2.0 | Apache-2.0 | Apache-2.0 | BUSL-1.1(1.5.7 起为最后 MPL 版本,本站 A1 口径) | Apache-2.0 |
| GitHub stars | ≈17k(shields.io) | 主仓 ≈128k(第三方排行口径 128,157-128,318) | ≈2.4k(shields.io) | ≈50k(shields.io) | shields 未取,K8s SIG 官方子项目 |
| 最新版本 | v1.36.2(2026-08-08) | 随上游 Kubernetes v1.37.1(本站 K3s A1 实查口径) | 1.37 线(本站 A1 口径) | 1.16(本站 A1 口径) | v1.14.3(2026-10-07) |
| 管理边界 | 基础设施+集群全生命周期 | 仅集群引导,不管基础设施 | 集群安装与发行版维护 | 任意云资源(不感知 K8s 语义) | 以 CRD 声明集群生命周期 |
| 集群升级/滚动更新 | 工具托管(upgrade + rolling-update) | 手工逐节点 | 发行版升级机制 | 不适用(IaC 层面重建) | 控制器编排(Machine 滚动) |
| IaC 融合 | 可输出 Terraform | 无 | 无 | 本体即 IaC | 依赖 Terraform/CloudFormation 等做基础设施 |
| 适用形态 | 云上自管生产集群 | 任意环境手工引导 | 合规生产环境 | 与 kOps 互补的基础设施层 | K8s 管理 K8s 的自动化平台 |
(stars 取自 shields.io 与第三方排行公开口径;版本取自官方发布渠道与本站既有 A1 文档;许可取自各自仓库 LICENSE。)
7.3 选型建议
在 AWS 等云上自管生产集群、希望工具托管从基础设施到升级的全流程,kOps 是官方 SIG 背书的首选,并可借 Terraform 输出融入 IaC 体系;只需一个标准引导工具、基础设施自理的团队用 kubeadm 即可;以 CIS/FIPS 合规为主要诉求的生产环境选 RKE2(参见《RKE2 1.37 介绍与选型指南》);需要"以 Kubernetes 方式管理大量集群"的平台工程团队应评估 Cluster API;而 Terraform 本身与 kOps 是互补关系而非替代(参见《Terraform 1.16 介绍与选型指南》)。kOps 的实操配置可进一步参考本站 kOps 专栏的部署配置详解系列。
八、参考链接
- 官方站点:https://kops.sigs.k8s.io/
- 源码仓库:https://github.com/kubernetes/kops
- 发行页:https://github.com/kubernetes/kops/releases
- 1.36 发行说明:https://kops.sigs.k8s.io/releases/1.36-notes/
- 集群模板上手文档:https://kops.sigs.k8s.io/getting_started/cluster_template/
- Cluster API 仓库:https://github.com/kubernetes-sigs/cluster-api
- RKE2 仓库:https://github.com/rancher/rke2