K0smotron v1.7.0 发布:联邦托管控制平面
K0smotron v1.7.0 现已发布,项目团队在过去几个月致力于增强 k0smotron,既作为独立解决方案,也作为 Cluster API 的重要组成部分。同时,也扩展了 k0smotron 自身的 API,以支持更多使用场景。
比如新增的 customUserData 字段,让你能直接控制虚拟机启动 k0s 的准备过程。这使得集群启动可以满足更具体的需求。这只是开始,下一次小版本计划支持 Ignition 作为另一种引导方式,进一步提升启动配置的灵活性。
同时持续优化开发者和运维体验:增强扩展性,消除不一致,平滑不同环境中出现的问题。大部分改进都在后台,但这让 k0smotron 更稳定,也更易用。此外,还宣布支持联邦托管控制平面(Federated Hosted Control Planes),为多集群场景带来了全新的适应能力。
新功能
- 联邦托管控制平面(Federated HCP):允许跨多个集群以联邦方式托管和管理控制平面,开启更大规模和灵活性的可能。
维护与稳定性
-
一般性修复和项目维护,保证稳定性。
-
默认镜像仓库从 docker.io 切换到 quay.io,避免频率限制问题。
资源配置与集群管理
-
机器命名策略更新,与大多数 CAPI 供应商保持一致。
-
引导配置更智能,自动适配检测到的 k0s 版本。
-
改进远程机器配置时的调试功能,提升排查效率。
文档更新
-
调整文档中的示例,确保内容最新。
-
扩展发布流程文档,提升透明度。
k0smotron 中的托管控制平面(Hosted Control Plane,HCP)指的是 Kubernetes 控制平面不需要专用机器,而是以 Pod 形式运行于 Kubernetes 集群内。此前,这些控制平面 Pod 总是在管理集群中,与 k0smotron 控制器共存。
联邦 HCP 把这个思路更进一步:控制平面 Pod 可以部署在外部集群,而非管理集群。k0smotron 控制器依然负责管理它们,但不必直接承载它们。
这带来更高的灵活性:管理集群保持轻量,仅负责调度。控制平面则可部署在最合适的位置,比如靠近工作负载节点、合规环境中,或分布在多个集群以提升可用性。简单来说,联邦让控制平面的运行位置和管理位置解耦,带来更多扩展、合规和高可用的场景。
这不仅仅是架构调整,更有实际好处:
-
扩展性更好,托管控制平面的负载可以分散,而非集中。
-
符合合规需求,控制平面可留在满足监管要求的集群内,管理集群保持简洁。
-
更高的韧性,工作负载集群不依赖管理集群的物理状态。即使管理集群故障或连接不稳定,联邦控制平面依然独立运行,保证工作负载集群正常。
当然,对于小规模或简单环境,直接在管理集群运行控制平面依然是最简单高效的选择。但当需要更大灵活性时,联邦 HCP 打开了更多可能。我们相信用户会发现更多应用场景。
如何使用
用 k0smotron 在非管理集群中以 Pod 形式部署控制平面很简单。只需引用一个 Kubernetes Secret,里面包含目标外部集群的 kubeconfig 即可。
apiVersion: k0smotron.io/v1beta1
kind:Cluster
metadata:
name:my-k0smotron
spec:
kubeconfigRef:
name:my-external-cluster-kubeconfig
namespace:some-namespace
key:secret-key-for-kubeconfig
示例中,集群配置指向存储在 Secret 的 kubeconfig。k0smotron 控制器用该配置连接目标集群,在那里部署控制平面 Pod。
唯一要求是 kubeconfig 需有足够权限创建资源,且外部集群可从管理集群访问。
总结
K0smotron v1.7.0 重点提升灵活性,夯实项目基础。通过联邦托管控制平面、更智能的资源配置和更紧密的 Cluster API 集成,让 Kubernetes 集群的运行更符合实际需求,无论是多云、边缘还是其他场景。